(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Wvla-parameter-12.c
       1  /* PR c/101289 - bogus -Wvla-parameter warning when using const bound
       2     { dg-do compile }
       3     { dg-options "-Wall" } */
       4  
       5  void f1ci_can (const int n, char a[n]);
       6  void f1ci_can (const int n, char a[n]); // { dg-bogus "-Wvla-parameter" }
       7  
       8  void f2ci_can (const int m, char a[m]);
       9  void f2ci_can (int n,       char a[n]); // { dg-bogus "-Wvla-parameter" }
      10  
      11  void f3i_can (int n,       char a[n]);
      12  void f3i_can (const int n, char a[n]);  // { dg-bogus "-Wvla-parameter" }
      13  
      14  void f4i_can (int n,       char a[n]);
      15  void f4i_can (const int n, char a[(int)n]);   // { dg-bogus "-Wvla-parameter" }
      16  
      17  void f5i_can (int n,       char a[(char)n]);
      18  void f5i_can (const int n, char a[(char)n]);  // { dg-bogus "-Wvla-parameter" }
      19  
      20  void f6i_can (int m,       char a[(char)m]);
      21  void f6i_can (const int n, char a[(char)n]);  // { dg-bogus "-Wvla-parameter" "" { xfail *-*-* } }
      22  
      23  
      24  /* PR c/97548 - bogus -Wvla-parameter on a bound expression involving
      25     a parameter */
      26  
      27  int n;
      28  
      29  void f7ianp1 (int, int[n + 1]);
      30  void f7ianp1 (int, int[n + 1]);
      31  void f7ianp1 (int, int[n + 2]);         // { dg-warning "-Wvla-parameter" }
      32  
      33  void f8iakp1 (int k, int [k + 1]);
      34  void f8iakp1 (int k, int [k + 1]);      // { dg-bogus "-Wvla-parameter" }
      35  void f8iakp1 (int k, int [1 + k]);      // { dg-bogus "-Wvla-parameter" }
      36  void f8iakp1 (int k, int [k + 2]);      // { dg-warning "-Wvla-parameter" }