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