Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/attr-alloc_size-9.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR c/78284 - warn on malloc with very large arguments Test verifying that the built-in allocation functions are declared with attribute malloc. This means that the pointer they return can be assumed not to alias any other valid pointer. */ /* { dg-do compile } */ /* { dg-require-effective-target alloca } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ void sink (void*); extern int x; #define TEST(call) \ do { \ p = call; \ x = 123; \ *(int*)p = 456; \ (x == 123) ? (void)0 : __builtin_abort (); \ sink (p); \ } while (0) void test (void *p, unsigned n) { TEST (__builtin_aligned_alloc (8, n)); TEST (__builtin_alloca (n)); TEST (__builtin_calloc (4, n)); TEST (__builtin_malloc (n)); TEST (__builtin_realloc (p, n + 1)); } /* { dg-final { scan-tree-dump-not "abort" "optimized" } } */