1 /* { dg-do run } */
2 /* { dg-options "-std=c99" } */
3 
4 #include <stdint.h>
5 
6 extern void abort (void);
7 
8 char *s1 = "foo";
9 char *s2 = "bar";
10 
11 char **ss1 = &s1;
12 
13 typedef union jsval_layout
14 {
15     uint64_t asBits;
16     char **ptr;
17 } jsval_layout;
18 
main()19 int main()
20 {
21   jsval_layout l, m;
22   l.ptr = ss1;
23   m.asBits = l.asBits;
24   char ** data = m.ptr;
25   *data = s2;
26   if (s1 != s2)
27     abort ();
28   return 0;
29 }
30