OSDN Git Service

Update gcc.dg/atomic-flag.c test for non-boolean TAS targets.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / free-2.c
1 /* PR c/36970 */
2 /* { dg-do compile } */
3 /* { dg-options "-O0" } */
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);           /* At -O0 no warning is reported here.  */
17   free (buf2);        /* { dg-warning "attempt to free a non-heap object" } */
18   free (&c);          /* { dg-warning "attempt to free a non-heap object" } */
19   free (buf3);        /* { dg-warning "attempt to free a non-heap object" } */
20   free (&d);          /* { dg-warning "attempt to free a non-heap object" } */
21   free (buf4);        /* { dg-warning "attempt to free a non-heap object" } */
22   free (&e);          /* { dg-warning "attempt to free a non-heap object" } */
23   free (&r->a);
24   free ("abcd");      /* { dg-warning "attempt to free a non-heap object" } */
25   free (L"abcd");     /* { dg-warning "attempt to free a non-heap object" } */
26 }