https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66060
Bug ID: 66060 Summary: struct member allocation off. Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: darpeer at hotmail dot com Target Milestone: --- Using gdb, two struct members end up at the same offset. gcc (GCC) 6.0.0 20150418 (experimental) and older. gcc -c -O0 -ggdb3 struct-example.C cat struct-example.C struct ODD_S { char a[/*0x2000 */ 2097152]; char b[/*0x400 */ 536870912]; char c[/*0x8000 */ 33554432]; } l_; (gdb) p &l_.a $1 = (char (*)[2097152]) 0x0 <l_> (gdb) p &l_.b $2 = (char (*)[536870912]) 0x200000 <l_+2097152> (gdb) p &l_.c $3 = (char (*)[33554432]) 0x200000 <l_+2097152>