------- Comment #12 from ramana at gcc dot gnu dot org 2010-01-09 23:27 ------- The code generated on trunk, 4.4 and 4.3 with arm-eabi-gcc at O2 for the test in Comment #0 is
int_handler: @ Interrupt Service Routine. @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 sub lr, lr, #4 stmfd sp!, {r0, r1, r2, r3, ip, lr} bl foo ldmfd sp!, {r0, r1, r2, r3, ip, pc}^ which appears to be the expected code generated. This appears to be fixed. If there is a problem please open a separate bug report. I tried the testcase in Comment #10 but that doesn't even compile . Attempting to reverse create a testcase using similar structs didn't show the problem. -- ramana at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Priority|P2 |P4 Resolution| |FIXED Target Milestone|--- |4.3.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16634