On 07/28/2011 01:30 PM, DJ Delorie wrote: > Fails the same way with a parameter as with a local: > > int result; > void __attribute__((naked)) ISRFunction(int x) { > result = subFunction(&x); > } > > but I'm certainly open to a better explanation of how a user program > can trigger an ICE that way. > > Hmmm... the only use of targetm.calls.allocate_stack_slots_for_args() > is in use_register_for_decl() - which is used by expand_decl() for > automatic variables. > > Maybe the hook should have been called allocate_stack_slots_for_decls() ?
Probably. Thanks for the leg-work. I'll approve the patch as-is. r~