(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Walloca-larger-than-3.c
       1  /* PR middle-end/94004 - missing -Walloca on calls to alloca due
       2     to -Wno-system-headers
       3     { dg-do compile }
       4     { dg-options "-O2 -Wall -Walloca-larger-than=8 -ftrack-macro-expansion=0" }
       5     { dg-require-effective-target alloca } */
       6  
       7  #include "Walloca-larger-than-3.h"
       8  
       9  void sink (void*, ...);
      10  
      11  void call_builtin_alloca (int n)
      12  {
      13    if (n < 9)
      14      n = 9;
      15    void *p = __builtin_alloca (n);   // { dg-warning "\\\[-Walloca-larger-than" }
      16    sink (p, 0);
      17  }
      18  
      19  void call_alloca_sys_hdr (int n)
      20  {
      21    if (n < 9)
      22      n = 9;
      23    void *p = alloca (n);             // { dg-warning "\\\[-Walloca-larger-than" }
      24    sink (p, 1);
      25  }
      26  
      27  static inline void inline_call_alloca (int n)
      28  {
      29    if (n > 9)
      30      n = 9;
      31    void *p = alloca (n);             // { dg-warning "\\\[-Walloca-larger-than" }
      32    sink (p, 2);
      33  }
      34  
      35  void make_inlined_call (void)
      36  {
      37    inline_call_alloca (10);
      38  }