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();
      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  }
      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" } */