/* We need slightly different defs than SIGNAL, INTERRUPT */
#define AVR_ATOMIC_HANDLER(signame) \
- void signame() __attribute__ ((spontaneous, C))
+ void signame() @spontaneous() @C()
#define AVR_NONATOMIC_HANDLER(signame) \
- void signame() __attribute__ ((spontaneous, C))
+ void signame() @spontaneous() @C()
/* Macro to create union casting functions. */
#define DEFINE_UNION_CAST(func_name, from_type, to_type) \
/* Saves current interrupt mask state and disables interrupts. */
inline __nesc_atomic_t
-__nesc_atomic_start(void) __attribute__((spontaneous))
+__nesc_atomic_start(void) @spontaneous()
{
__nesc_atomic_t result = SREG;
__nesc_disable_interrupt();
/* Restores interrupt mask to original state. */
inline void
-__nesc_atomic_end(__nesc_atomic_t original_SREG) __attribute__((spontaneous))
+__nesc_atomic_end(__nesc_atomic_t original_SREG) @spontaneous()
{
SREG = original_SREG;
}