Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr40946.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR middle-end/40946 */ /* { dg-do compile } */ /* { dg-options "-O2 -Wall" } */ struct A { unsigned char a1[8]; unsigned short a2, a3, a4, a5, a6, a7; }; int bar (void *, const char *, int); char *foo (void *, int); char * baz (const char *x, const char *y) { int a = sizeof (struct A) + 2 * (__builtin_strlen (y) + __builtin_strlen (x) + 24) + 16; struct A *b = __builtin_malloc (a); char *c; int d; b->a4 = sizeof (struct A); c = ((char *) b) + b->a4; d = ((char *) b) + a - c; b->a2 = b->a3 = (unsigned short) bar (c, y, d); /* { dg-bogus "array subscript is above array bounds" } */ c += b->a2; d = ((char *) b) + a - c; b->a7 = b->a4 + b->a2; b->a5 = b->a6 = (unsigned short) bar (c, x, d); c = foo (b, a); return c; }