Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/c-c++-common/Wrestrict-3.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line source
/* PR c/83989 */ /* { dg-do compile } */ /* { dg-options "-O2 -Wrestrict" } */ __attribute__((__malloc__)) extern void *my_malloc (__SIZE_TYPE__); void baz (void *); #define SIZE 32 void foo (void) { void *recmem = __builtin_malloc (SIZE); baz (recmem); while (1) { void *oldrecmem = recmem; recmem = __builtin_malloc (SIZE); if (!recmem) { __builtin_free (oldrecmem); return; } __builtin_memcpy (recmem, oldrecmem, SIZE); /* { dg-bogus "accessing" } */ baz (recmem); __builtin_free (oldrecmem); } } void bar (void) { void *recmem = my_malloc (SIZE); baz (recmem); while (1) { void *oldrecmem = recmem; recmem = my_malloc (SIZE); if (!recmem) { __builtin_free (oldrecmem); return; } __builtin_memcpy (recmem, oldrecmem, SIZE); /* { dg-bogus "accessing" } */ baz (recmem); __builtin_free (oldrecmem); } }