(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
free-1.c
       1  /* PR c/36970 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2" } */
       4  
       5  extern void free (void *);
       6  
       7  char *p, buf3[10], d;
       8  struct S { char a; int b; } *r;
       9  
      10  void foo (void)
      11  {
      12    char buf[10], buf2[10], c;
      13    static char buf4[10], e;
      14    char *q = buf;
      15    free (p);
      16    free (q);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      17    free (buf2);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      18    free (&c);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      19    free (buf3);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      20    free (&d);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      21    free (buf4);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      22    free (&e);	      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      23    free (&r->a);
      24    free ("abcd");      /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      25    free (L"abcd");     /* { dg-warning "\\\[-Wfree-nonheap-object" } */
      26  }