[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-libc-dev] Re: [avr-libc-commit] avr-libc ChangeLoginclude/avr/i
From: |
Eric Weddington |
Subject: |
RE: [avr-libc-dev] Re: [avr-libc-commit] avr-libc ChangeLoginclude/avr/interrupt.h incl... |
Date: |
Mon, 28 Aug 2006 14:25:55 -0600 |
> -----Original Message-----
> From:
> address@hidden
> [mailto:address@hidden
> org] On Behalf Of Joerg Wunsch
> Sent: Monday, August 28, 2006 1:51 PM
> To: address@hidden
> Subject: Re: [avr-libc-dev] Re: [avr-libc-commit] avr-libc
> ChangeLoginclude/avr/interrupt.h incl...
>
> As Bernd Trog wrote:
>
> > > * include/avr/interrupt.h: Add the
> > > 'externally_visible' attribute on all interrupt
> > > service routine macros.
>
> > Note that 'externally_visible' is a new attribute. Introduced with
> > 4.1.0, unknown to versions <4.1.0.
>
> Thanks for the heads-up. That means we have to encapsulate that
> using some preprocessor magic like:
>
> #if __GNUC__ >= 4
> # define __INTR_ATTRS used, externally_visible
> #else /* GCC < 4.x */
> # define __INTR_ATTRS used
> #endif
>
> ...
> #define ISR(vector) \
> void vector (void) __attribute__ ((signal, __INTR_ATTRS)); \
> void vector (void)
>
> etc. (Also needed in <compat/deprecated.h> and in the documentation.)
Do we really need that? Or will previous versions just silently ignore this?
I'm going to be finding out soon...
Eric