2015-04-27 17:41:57 +03:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
/* This test segfaults as of April 27, 2015. */
|
2015-11-20 03:24:46 +03:00
|
|
|
void f1(int argc)
|
2015-04-27 17:41:57 +03:00
|
|
|
{
|
|
|
|
char test[argc];
|
|
|
|
if(0)
|
|
|
|
label:
|
|
|
|
printf("boom!\n");
|
|
|
|
if(argc-- == 0)
|
|
|
|
return;
|
|
|
|
goto label;
|
|
|
|
}
|
|
|
|
|
2015-11-20 03:24:46 +03:00
|
|
|
/* This segfaulted on 2015-11-19. */
|
|
|
|
void f2(void)
|
|
|
|
{
|
|
|
|
goto start;
|
|
|
|
{
|
2015-11-21 02:33:49 +03:00
|
|
|
int a[1 && 1]; /* not a variable-length array */
|
|
|
|
int b[1 || 1]; /* not a variable-length array */
|
|
|
|
int c[1 ? 1 : 1]; /* not a variable-length array */
|
2015-11-20 03:24:46 +03:00
|
|
|
start:
|
|
|
|
a[0] = 0;
|
2015-11-21 02:33:49 +03:00
|
|
|
b[0] = 0;
|
|
|
|
c[0] = 0;
|
2015-11-20 03:24:46 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-11-22 02:58:58 +03:00
|
|
|
void f3(void)
|
|
|
|
{
|
|
|
|
printf("%d\n", 0 ? printf("x1\n") : 11);
|
|
|
|
printf("%d\n", 1 ? 12 : printf("x2\n"));
|
|
|
|
printf("%d\n", 0 && printf("x3\n"));
|
|
|
|
printf("%d\n", 1 || printf("x4\n"));
|
|
|
|
}
|
|
|
|
|
2015-04-27 17:41:57 +03:00
|
|
|
int main()
|
|
|
|
{
|
2015-11-20 03:24:46 +03:00
|
|
|
f1(2);
|
|
|
|
f2();
|
2015-11-22 02:58:58 +03:00
|
|
|
f3();
|
2015-04-27 17:41:57 +03:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|