testsuite: Skip analyzer tests on AIX.
[official-gcc.git] / gcc / testsuite / c-c++-common / analyzer / capacity-2.c
blobfbdb61a991e037f4acb5cb3acc6a1930ee28f402
1 /* { dg-skip-if "" { powerpc*-*-aix* } } */
3 #include <stdlib.h>
4 #include "analyzer-decls.h"
6 extern void might_realloc (void *);
7 extern void cant_realloc (const void *);
9 void *
10 test_realloc_1 (void *p, size_t new_sz)
12 void *q = realloc (p, new_sz);
13 __analyzer_dump_capacity (q); /* { dg-warning "capacity: 'UNKNOWN\\(sizetype\\)'" "failure" } */
14 /* { dg-warning "capacity: 'INIT_VAL\\(new_sz\[^\n\r\]*\\)'" "success" { target *-*-* } .-1 } */
15 return q;
18 void *
19 test_realloc_2 (size_t sz_a, size_t sz_b)
21 void *p = malloc (sz_a);
22 __analyzer_dump_capacity (p); /* { dg-warning "capacity: 'INIT_VAL\\(sz_a_\[^\n\r\]*\\)'" } */
23 void *q = realloc (p, sz_b);
24 __analyzer_dump_capacity (q); /* { dg-warning "capacity: 'UNKNOWN\\(sizetype\\)'" "failure" } */
25 /* { dg-warning "capacity: 'INIT_VAL\\(sz_b\[^\n\r\]*\\)'" "success" { target *-*-* } .-1 } */
26 return q; /* { dg-warning "leak of 'p'" } */
29 void *
30 test_might_realloc (void)
32 void *p = malloc (1024);
34 __analyzer_dump_capacity (p); /* { dg-warning "capacity: '\\(size_t\\)1024'" } */
36 might_realloc (p);
38 __analyzer_dump_capacity (p); /* { dg-warning "capacity: 'UNKNOWN\\(sizetype\\)'" } */
40 return p;
43 void *
44 test_cant_realloc (void)
46 void *p = malloc (1024);
48 __analyzer_dump_capacity (p); /* { dg-warning "capacity: '\\(size_t\\)1024'" } */
50 cant_realloc (p);
52 __analyzer_dump_capacity (p); /* { dg-warning "capacity: '\\(size_t\\)1024'" } */
54 return p;