modernc.org/ccgo/v3@v3.16.14/lib/testdata/tcc-0.9.27/tests/tests2/79_vla_continue.c (about)

     1  #include <stdio.h>
     2  
     3  int f(void)
     4  {
     5    return 5;
     6  }
     7  
     8  void test1()
     9  {
    10    int count = 10;
    11    void *addr[10];
    12    for(;count--;) {
    13      int a[f()];
    14  
    15      addr[count] = a;
    16  
    17      continue;
    18    }
    19  
    20    if(addr[9] == addr[0]) {
    21      printf("OK\n");
    22    } else {
    23      printf("NOT OK\n");
    24    }
    25  }
    26  
    27  void test2()
    28  {
    29    int count = 10;
    30    void *addr[count];
    31    for(;count--;) {
    32      int a[f()];
    33  
    34      addr[count] = a;
    35  
    36      continue;
    37    }
    38  
    39    if(addr[9] == addr[0]) {
    40      printf("OK\n");
    41    } else {
    42      printf("NOT OK\n");
    43    }
    44  }
    45  
    46  void test3()
    47  {
    48    int count = 10;
    49    void *addr[count];
    50    while(count--) {
    51      int a[f()];
    52  
    53      addr[count] = a;
    54  
    55      continue;
    56    }
    57  
    58    if(addr[9] == addr[0]) {
    59      printf("OK\n");
    60    } else {
    61      printf("NOT OK\n");
    62    }
    63  }
    64  
    65  void test4()
    66  {
    67    int count = 10;
    68    void *addr[count];
    69    do {
    70      int a[f()];
    71  
    72      addr[--count] = a;
    73  
    74      continue;
    75    } while (count);
    76  
    77    if(addr[9] == addr[0]) {
    78      printf("OK\n");
    79    } else {
    80      printf("NOT OK\n");
    81    }
    82  }
    83  
    84  void test5()
    85  {
    86    int count = 10;
    87    int a[f()];
    88    int c[f()];
    89  
    90    c[0] = 42;
    91  
    92    for(;count--;) {
    93      int b[f()];
    94      int i;
    95      for (i=0; i<f(); i++) {
    96        b[i] = count;
    97      }
    98    }
    99  
   100    if (c[0] == 42) {
   101      printf("OK\n");
   102    } else {
   103      printf("NOT OK\n");
   104    }
   105  }
   106  
   107  int main(void)
   108  {
   109    test1();
   110    test2();
   111    test3();
   112    test4();
   113    test5();
   114  
   115    return 0;
   116  }