| /* 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); | |
| } |