int a(int *); int b() { int Tmp[2]; d(Tmp); }
produces bad prologue: .text .global b .type b, @function b: push r29 push r28 rcall . rcall . rcall . in r28,__SP_L__ in r29,__SP_H__ /* prologue: function */ /* frame size = 6 */ movw r24,r28 adiw r24,1 rcall d /* epilogue start */ adiw r28,6 in __tmp_reg__,__SREG__ cli out __SP_H__,r29 out __SREG__,__tmp_reg__ out __SP_L__,r28 pop r28 pop r29 ret .size b, .-b -- Summary: corrupted prologue generated Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: critical Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sb-sf at users dot sourceforge dot net GCC target triplet: avr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39287