1 /* PR middle-end/20739 */
2 
3 /* dg-do compile */
4 /* dg-options "-O" */
5 
6 /* We used to fail to compile this because gimplification dropped the
7    conversion that added the const qualifier to the sub-expression
8    involving baz, and then immediately noticed and reported its
9    absence.  */
10 
11 typedef struct
12 {
13     char chars[5];
14 }
15 baz_t;
16 
17 extern baz_t * baz;
18 
19 extern void foo (baz_t);
20 int
bar(const baz_t * ls)21 bar (const baz_t * ls)
22 {
23     foo (ls == 0 ? *(&baz[0]) : *ls);
24 }
25