aboutsummaryrefslogtreecommitdiff
path: root/tinycc/tests/tests2/123_vla_bug.c
blob: 6d92c27cf3e1f6032ec64103d4aeec5ccc988c61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
typedef __SIZE_TYPE__ size_t;
extern int printf(const char*, ...);
extern size_t strlen(const char*);
char str[] = "blabla";
int g;
int main()
{
  //char helpme[strlen(str) + 1];
  int i = 0;
#if 0
  if (g) {
      char buf[strlen(str) + 10];
      buf[0] = 0;
  }
alabel:
  printf("default: i = %d\n", i);
#else
  for (i = 0; i < 5; i++) {
      switch (i) {
      case 10:
          if (g) {
              char buf[strlen(str) + 10];
              buf[0] = 0;
              goto do_cmd;
          }
          break;
      case 1:
          printf("reached 3\n");
    do_cmd:
          printf("after do_cmd");
          break;
      default:
          g++;
          printf("default: i = %d\n", i);
          break;
      }
  }
#endif
  return 0;
}