brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 4267e2c Raw
97 lines · c
1// Header for PCH test stmts.c2 3void f0(int x) { 4  // NullStmt5  ;6  // IfStmt7  if (x) {8  } else if (x + 1) {9  }10 11  switch (x) {12  case 0:13    x = 17;14    break;15 16  case 1:17    break;18 19  default:20    switch (x >> 1) {21    case 7:22      // fall through23    case 9:24      break;25    }26    x += 2;27    break;28  }29 30  while (x > 20) {31    if (x > 30) {32      --x;33      continue;34    } else if (x < 5)35      break;36    else37      goto done;38  }39 40  do {41    x++;42  } while (x < 10);43 44 almost_done:45  for (int y = x; y < 20; ++y) {46    if (x + y == 12)47      return;48    else if (x - y == 7)49      goto almost_done;50  }51 52 done:53  x = x + 2;54 55  int z = x, *y, j = 5;56}57 58int f1(int x) {59  switch (x) {60  case 17:61    return 12;62 63  default:64    break;65  }66 67  // variable-length array68  int array[x * 17 + 3];69 70  return x*2;71}72 73const char* what_is_my_name(void) { return __func__; }74 75int computed_goto(int x) {76 start:77  x = x << 1;78  void *location = &&start;79 80  if (x > 17)81    location = &&done;82 83  while (x > 12) {84    --x;85    if (x == 15)86      goto *location;87  }88 89  done:90  return 5;91}92 93#define maxint(a,b) ({int _a = (a), _b = (b); _a > _b ? _a : _b; })94int weird_max(int x, int y) {95  return maxint(++x, --y);96}97