1 /* { dg-do compile } */
2 /* { dg-options "-O2 -g" } */
3 
4 struct {
5   char uuid[16];
6 } c;
7 struct {
8   int s_uuid[6];
9 } a, b;
10 int bar (void);
get_label_uuid(char * p1)11 static int get_label_uuid(char *p1) {
12   __builtin_memcpy(p1, a.s_uuid, sizeof(a));
13   if (bar())
14     __builtin_memcpy(p1, b.s_uuid, sizeof(b));
15   return 0;
16 }
uuidcache_addentry(char * p1)17 void uuidcache_addentry(char *p1) { __builtin_memcpy(&c, p1, sizeof(c)); }
uuidcache_init()18 void uuidcache_init() {
19   char d[sizeof(a) + sizeof(c)];
20   get_label_uuid(d);
21   uuidcache_addentry(d);
22 }
23