Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/attr-alloc_size-9.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +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" } } */