------- Comment #9 from ubizjak at gmail dot com 2008-11-16 20:28 ------- (In reply to comment #8) > This failing testcase produces the following in gdb...
> #0 0x00007fff83829ee6 in __kill () > #1 0x00007fff8389af4d in abort () > #2 0x0000000100000f6f in main () > (gdb) > > Is there anything else I can provide to debug this? Yes: compile all three testfiles with -g flag added, put a watchpoint on "fails" variable (watch fails) and see where it triggers. It looks to me that something is wrong with s2848 argument that is passed to check2848 function. At calling site (in test2848 function), we have: (gdb) print s2848 $10 = {a = 4027477739, b = -936922831153888968, c = 0x601720} and in check2848 we receive: (gdb) print arg0 $11 = {a = 4195077, b = 3221252723567493120, c = 0x7fffde0e11a0} The structure is defined as: struct S2848 { unsigned int a; _Complex int __attribute__ ((aligned (1))) b; struct { } __attribute__ ((packed, aligned)) c[1]; }; Hm, looks like a real bug to me. This also fails on linux, I'll try to create a testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151