// Header for PCH test stmts.c void f0(int x) { // NullStmt ; // IfStmt if (x) { } else if (x + 1) { } switch (x) { case 0: x = 17; break; case 1: break; default: switch (x >> 1) { case 7: // fall through case 9: break; } x += 2; break; } while (x > 20) { if (x > 30) { --x; continue; } else if (x < 5) break; else goto done; } do { x++; } while (x < 10); almost_done: for (int y = x; y < 20; ++y) { if (x + y == 12) return; else if (x - y == 7) goto almost_done; } done: x = x + 2; int z = x, *y, j = 5; } int f1(int x) { switch (x) { case 17: return 12; default: break; } // variable-length array int array[x * 17 + 3]; return x*2; } const char* what_is_my_name(void) { return __func__; } int computed_goto(int x) { start: x = x << 1; void *location = &&start; if (x > 17) location = &&done; while (x > 12) { --x; if (x == 15) goto *location; } done: return 5; } #define maxint(a,b) ({int _a = (a), _b = (b); _a > _b ? _a : _b; }) int weird_max(int x, int y) { return maxint(++x, --y); } |