From: Borja F. <bor...@gm...> - 2012-03-06 11:22:50
|
Heh ok :) that's why I did the truth table above, because some attributes override others and we want to have the same behaviour as gcc. Now that everything is clear I'll implement this next. Btw, I've already fixed the case of not emitting ret/reti when naked is present. 2012/3/6 Weddington, Eric <Eri...@at...> > > > > -----Original Message----- > > From: Borja Ferrer [mailto:bor...@gm...] > > Sent: Monday, March 05, 2012 5:43 PM > > To: Weddington, Eric > > Cc: avr...@li... > > Subject: Re: [avr-llvm-devel] Interrupt handling > > > > > > #define ISR(vector, ...) \ > > void vector (void) __attribute__ ((signal,__INTR_ATTRS)) > __VA_ARGS__; \ > > void vector (void) > > # define ISR_NOBLOCK __attribute__((interrupt)) > > > > > > Hmm. Yeah, ok, you're correct about that. I forgot about all that stuff > that was added to avr-libc. > > So, in this case, the "interrupt" attribute overrides "signal". > > I think you're good to go now. :-) > > Eric > |