Follow-up Comment #1, bug #26734 (project avr-libc):
The ISR(INT0_vect,ISR_NOBLOCK) macro expand in:
void __vector_1 (void) __attribute__ ((signal,used, externally_visible))
__attribute__((interrupt)); void __vector_1 (void)
This code confused the GCC. The 'interrupt' attribute makes emit the 'sei'
instruction but the 'signal' attribute makes don't disable interrupt when SP
reg is changed.
This is bad use 'interrupt' and 'signal' attribute simultaneously.
1. I will add in the GCC code for checking incorrect attributes use. i.e use
'interrupt' and 'signal' attribute simultaneously for one function.
2. avr-libc should be modified and don't use 'interrupt' and 'signal'
attribute simultaneously.
Anatoly.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?26734>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
_______________________________________________
AVR-libc-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-libc-dev