rt_gccstream/gcc/testsuite/gcc.dg/tree-ssa/pr20739.c

25 lines
462 B
C

/* PR middle-end/20739 */
/* dg-do compile */
/* dg-options "-O" */
/* We used to fail to compile this because gimplification dropped the
conversion that added the const qualifier to the sub-expression
involving baz, and then immediately noticed and reported its
absence. */
typedef struct
{
char chars[5];
}
baz_t;
extern baz_t * baz;
extern void foo (baz_t);
int
bar (const baz_t * ls)
{
foo (ls == 0 ? *(&baz[0]) : *ls);
}