1 
2 /* { dg-options "-O2 -std=gnu99" } */
3 /* Internal compiler error in iterative_hash_expr */
4 
5 struct tree_string
6 {
7   char str[1];
8 };
9 
10 union tree_node
11 {
12   struct tree_string string;
13 };
14 
Foo(union tree_node * num_string)15 char *Foo (union tree_node * num_string)
16 {
17   char *str = ((union {const char * _q; char * _nq;})
18 	       ((const char *)(({ __typeof (num_string) const __t
19 				     = num_string;  __t; })
20 			       ->string.str)))._nq;
21   return str;
22 }
23