1 /* { dg-skip-if "" { powerpc*-*-aix* } } */
4 #include "analyzer-decls.h"
6 extern void might_realloc (void *);
7 extern void cant_realloc (const 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 } */
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'" } */
30 test_might_realloc (void)
32 void *p
= malloc (1024);
34 __analyzer_dump_capacity (p
); /* { dg-warning "capacity: '\\(size_t\\)1024'" } */
38 __analyzer_dump_capacity (p
); /* { dg-warning "capacity: 'UNKNOWN\\(sizetype\\)'" } */
44 test_cant_realloc (void)
46 void *p
= malloc (1024);
48 __analyzer_dump_capacity (p
); /* { dg-warning "capacity: '\\(size_t\\)1024'" } */
52 __analyzer_dump_capacity (p
); /* { dg-warning "capacity: '\\(size_t\\)1024'" } */