(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Wnonnull-5.c
       1  /* PR middle-end/97552 - missing waning passing null to a VLA argument
       2     declared [static]
       3     { dg-do compile }
       4     { dg-options "-Wall" } */
       5  
       6  #define A(...) __attribute__ ((__VA_ARGS__))
       7  
       8  void             fptr_array (int(*)[0]);
       9  
      10  void             fstatic_array (int[static 0]);
      11  void A (nonnull) fnonnull_static_array (int [static 0]);
      12  
      13  void             fvla (int n, int [n]);
      14  void A (nonnull) fnonnull_vla (int n, int [n]);
      15  
      16  void             fstatic_vla (int n, int [static n]);
      17  void A (nonnull) fnonnull_static_vla (int n, int [static n]);
      18  
      19  
      20  void test_null (void)
      21  {
      22    fptr_array (0);
      23    fptr_array (&(int[0]){ });
      24  
      25    fstatic_array (0);                // { dg-warning "\\\[-Wnonnull" }
      26    fnonnull_static_array (0);        // { dg-warning "\\\[-Wnonnull" }
      27  
      28    fvla (0, 0);
      29    fnonnull_vla (0, 0);              // { dg-warning "\\\[-Wnonnull" }
      30  
      31    fstatic_vla (0, 0);               // { dg-warning "\\\[-Wnonnull" }
      32    fnonnull_static_vla (0, 0);       // { dg-warning "\\\[-Wnonnull" }
      33  }
      34  
      35  
      36  #pragma GCC optimize ("1")
      37  
      38  void test_null_optimized (void)
      39  {
      40    int (*pa)[0] = 0;
      41    fptr_array (pa);
      42  
      43    int *p = 0;
      44  
      45    fstatic_array (p);                // { dg-warning "\\\[-Wnonnull" }
      46    fnonnull_static_array (p);        // { dg-warning "\\\[-Wnonnull" }
      47  
      48    fvla (0, p);
      49    fnonnull_vla (0, p);              // { dg-warning "\\\[-Wnonnull" }
      50  
      51    fstatic_vla (0, p);               // { dg-warning "\\\[-Wnonnull" }
      52    fnonnull_static_vla (0, p);       // { dg-warning "\\\[-Wnonnull" }
      53  }