Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr60013.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR ipa/60013 */ /* { dg-do compile } */ /* { dg-options "-O2" } */ typedef long int jmp_buf[64]; extern int _setjmp (jmp_buf) __attribute__ ((__nothrow__)); struct S { int a, b, c; }; extern struct S *baz (struct S *); static jmp_buf j; static inline int bar (int b, int d) { return (b & d) < 0; } struct S * foo (int a, struct S *b, struct S *c, struct S *d) { if (b->a == 0) { switch (a) { case 8: return baz (b); case 7: bar (b->c, c->b); return 0; case 6: case 5: case 4: return baz (c); case 3: case 2: return baz (d); } return 0; } if (b->a == 1) { if (baz (c)) return c; else if (_setjmp (j)) baz (b); } return 0; }