Provide infrastructure so the CCS/IAR standard declaration:
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
can be interpreted as the GCC standard declaration:
void
__attribute__((__interrupt__(TIMERA0_VECTOR)))
Timer_A(void)
This will simplify use of TI example code, and also enable use of the new generalized core libraries from TI without modification.
See REGISTER_TARGET_PRAGMAS at http://gcc.gnu.org/onlinedocs/gccint/Misc.html
The msp430mcu part of this:
commit 8a0d9503228757eba710d369378b0fc1d751b535
Author: Peter A. Bigot <pabigot@users.sourceforge.net>
Date: Wed Mar 21 16:46:53 2012 -0500
SF 3474171 support TI standard interrupt declaration
Under GCC define __interrupt to provide the required function attribute for
an interrupt declaration using an unassigned vector (assignment assumed to
be from previous #pragma vector).
commit 4a8623d30dd296d85452b2aa2aeb44f5f101d854
Author: Peter A. Bigot <pabigot@users.sourceforge.net>
Date: Wed Mar 21 15:58:43 2012 -0500
SF 3474171 support TI standard interrupt declaration
Use REGISTER_TARGET_PRAGMA to cache a vector offset as a tree, which is used
as the vector offset in the first following interrupt attribute, if that
attribute does not provide an explicit vector offset.