(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
unroll-5.c
       1  /* { dg-do compile } */
       2  
       3  extern void bar (int);
       4  
       5  int j;
       6  
       7  void test (void)
       8  {
       9    #pragma GCC unroll 4+4
      10    for (unsigned long i = 1; i <= 8; ++i)
      11      bar(i);
      12  
      13    #pragma GCC unroll -1	/* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
      14    for (unsigned long i = 1; i <= 8; ++i)
      15      bar(i);
      16  
      17    #pragma GCC unroll 20000000000	/* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
      18    for (unsigned long i = 1; i <= 8; ++i)
      19      bar(i);
      20  
      21    #pragma GCC unroll j	/* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
      22                          /* { dg-error "cannot appear in a constant-expression|is not usable in a constant expression" "" { target c++ } .-1 } */
      23    for (unsigned long i = 1; i <= 8; ++i)
      24      bar(i);
      25  
      26    #pragma GCC unroll  4.2	/* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
      27    for (unsigned long i = 1; i <= 8; ++i)
      28      bar(i);
      29  }