1 /* { dg-do compile } */
2 /* { dg-prune-output "\\\[-Wbuiltin-declaration-mismatch" } */
3 
4 void *ext2fs_resize_mem_p;
5 struct ext2_icount_el {
6     int ino;
7 } * insert_icount_el_icount_1;
8 int insert_icount_el_icount, insert_icount_el_new_size;
9 void *memcpy();
10 void *realloc();
ext2fs_resize_mem(void * p1)11 int ext2fs_resize_mem(void *p1) {
12     int size = 0;
13     memcpy(&ext2fs_resize_mem_p, p1, sizeof(ext2fs_resize_mem_p));
14     void *p = realloc(&ext2fs_resize_mem_p, size);
15     return 0;
16 }
insert_icount_el()17 struct ext2_icount_el *insert_icount_el() {
18     if (insert_icount_el_icount)
19       insert_icount_el_new_size = insert_icount_el_icount_1[0].ino;
20     ext2fs_resize_mem(&insert_icount_el_icount_1);
21     return 0;
22 }
23 
24 /* Passing the address of a declared object to realloc triggers
25    -Wfree-nonheap-object unless -flto is used.
26    { dg-prune-output "\\\[-Wfree-nonheap-object" } */
27