(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
Wdangling-pointer-6.c
       1  /* PR middle-end/63272 - GCC should warn when using pointer to dead scoped
       2     variable within the same function
       3     Exercise -Wdangling-pointer with inlining.
       4     { dg-do compile }
       5     { dg-options "-O1 -Wall" } */
       6  
       7  void* sink (void*, ...);
       8  
       9  extern int *eip;      // { dg-message "'eip' declared here" }
      10  
      11  static inline void store (int **p, int *q)
      12  {
      13    *p = q;             // { dg-warning "storing the address of local variable 'auto_x' in 'eip'" }
      14  }
      15  
      16  void nowarn_inlined_store_extern (void)
      17  {
      18    extern int extern_x;
      19    store (&eip, &extern_x);
      20  }
      21  
      22  void nowarn_inlined_store_static (void)
      23  {
      24    static int static_x;
      25    store (&eip, &static_x);
      26  }
      27  
      28  void warn_inlined_store_auto (void)
      29  {
      30    int auto_x;         // { dg-message "'auto_x' declared here" }
      31    store (&eip, &auto_x);
      32  }