12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #include <stdio.h>
- /* This test segfaults as of April 27, 2015. */
- void f1(int argc)
- {
- char test[argc];
- if(0)
- label:
- printf("boom!\n");
- if(argc-- == 0)
- return;
- goto label;
- }
- /* This segfaulted on 2015-11-19. */
- void f2(void)
- {
- goto start;
- {
- 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 */
- start:
- a[0] = 0;
- b[0] = 0;
- c[0] = 0;
- }
- }
- 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"));
- }
- int main()
- {
- f1(2);
- f2();
- f3();
- return 0;
- }
|