mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-20 09:00:37 +08:00
avr.c (avr_arch_types): Rearranging array.
* config/avr/avr.c (avr_arch_types): Rearranging array. (enum avr_arch): Add. (avr_mcu_types): Use avr_arch enumeration constants instead of numbers. * config/avr/avr.h (LINK_SPEC): Simplify. From-SVN: r123882
This commit is contained in:
parent
f8b45d4f54
commit
1468317475
@ -1,3 +1,11 @@
|
||||
2007-04-16 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
* config/avr/avr.c (avr_arch_types): Rearranging array.
|
||||
(enum avr_arch): Add.
|
||||
(avr_mcu_types): Use avr_arch enumeration constants instead of
|
||||
numbers.
|
||||
* config/avr/avr.h (LINK_SPEC): Simplify.
|
||||
|
||||
2007-04-16 Kazu Hirata <kazu@codesourcery.com>
|
||||
|
||||
* config/m68k/m68k.c (m68k_libcall_value,
|
||||
|
@ -141,10 +141,24 @@ static const struct base_arch_s avr_arch_types[] = {
|
||||
{ 1, 0, 0, 0, NULL }, /* unknown device specified */
|
||||
{ 1, 0, 0, 0, "__AVR_ARCH__=1" },
|
||||
{ 0, 0, 0, 0, "__AVR_ARCH__=2" },
|
||||
{ 0, 0, 0, 1, "__AVR_ARCH__=25"},
|
||||
{ 0, 0, 1, 0, "__AVR_ARCH__=3" },
|
||||
{ 0, 1, 0, 1, "__AVR_ARCH__=4" },
|
||||
{ 0, 1, 1, 1, "__AVR_ARCH__=5" },
|
||||
{ 0, 0, 0, 1, "__AVR_ARCH__=25"}
|
||||
{ 0, 1, 1, 1, "__AVR_ARCH__=5" }
|
||||
};
|
||||
|
||||
/* These names are used as the index into the avr_arch_types[] table
|
||||
above. */
|
||||
|
||||
enum avr_arch
|
||||
{
|
||||
ARCH_UNKNOWN,
|
||||
ARCH_AVR1,
|
||||
ARCH_AVR2,
|
||||
ARCH_AVR25,
|
||||
ARCH_AVR3,
|
||||
ARCH_AVR4,
|
||||
ARCH_AVR5
|
||||
};
|
||||
|
||||
struct mcu_type_s {
|
||||
@ -164,103 +178,103 @@ struct mcu_type_s {
|
||||
|
||||
static const struct mcu_type_s avr_mcu_types[] = {
|
||||
/* Classic, <= 8K. */
|
||||
{ "avr2", 2, NULL },
|
||||
{ "at90s2313", 2, "__AVR_AT90S2313__" },
|
||||
{ "at90s2323", 2, "__AVR_AT90S2323__" },
|
||||
{ "at90s2333", 2, "__AVR_AT90S2333__" },
|
||||
{ "at90s2343", 2, "__AVR_AT90S2343__" },
|
||||
{ "attiny22", 2, "__AVR_ATtiny22__" },
|
||||
{ "attiny26", 2, "__AVR_ATtiny26__" },
|
||||
{ "at90s4414", 2, "__AVR_AT90S4414__" },
|
||||
{ "at90s4433", 2, "__AVR_AT90S4433__" },
|
||||
{ "at90s4434", 2, "__AVR_AT90S4434__" },
|
||||
{ "at90s8515", 2, "__AVR_AT90S8515__" },
|
||||
{ "at90c8534", 2, "__AVR_AT90C8534__" },
|
||||
{ "at90s8535", 2, "__AVR_AT90S8535__" },
|
||||
{ "avr2", ARCH_AVR2, NULL },
|
||||
{ "at90s2313", ARCH_AVR2, "__AVR_AT90S2313__" },
|
||||
{ "at90s2323", ARCH_AVR2, "__AVR_AT90S2323__" },
|
||||
{ "at90s2333", ARCH_AVR2, "__AVR_AT90S2333__" },
|
||||
{ "at90s2343", ARCH_AVR2, "__AVR_AT90S2343__" },
|
||||
{ "attiny22", ARCH_AVR2, "__AVR_ATtiny22__" },
|
||||
{ "attiny26", ARCH_AVR2, "__AVR_ATtiny26__" },
|
||||
{ "at90s4414", ARCH_AVR2, "__AVR_AT90S4414__" },
|
||||
{ "at90s4433", ARCH_AVR2, "__AVR_AT90S4433__" },
|
||||
{ "at90s4434", ARCH_AVR2, "__AVR_AT90S4434__" },
|
||||
{ "at90s8515", ARCH_AVR2, "__AVR_AT90S8515__" },
|
||||
{ "at90c8534", ARCH_AVR2, "__AVR_AT90C8534__" },
|
||||
{ "at90s8535", ARCH_AVR2, "__AVR_AT90S8535__" },
|
||||
/* Classic + MOVW, <= 8K. */
|
||||
{ "avr25", 6, NULL },
|
||||
{ "attiny13", 6, "__AVR_ATtiny13__" },
|
||||
{ "attiny2313", 6, "__AVR_ATtiny2313__" },
|
||||
{ "attiny24", 6, "__AVR_ATtiny24__" },
|
||||
{ "attiny44", 6, "__AVR_ATtiny44__" },
|
||||
{ "attiny84", 6, "__AVR_ATtiny84__" },
|
||||
{ "attiny25", 6, "__AVR_ATtiny25__" },
|
||||
{ "attiny45", 6, "__AVR_ATtiny45__" },
|
||||
{ "attiny85", 6, "__AVR_ATtiny85__" },
|
||||
{ "attiny261", 6, "__AVR_ATtiny261__" },
|
||||
{ "attiny461", 6, "__AVR_ATtiny461__" },
|
||||
{ "attiny861", 6, "__AVR_ATtiny861__" },
|
||||
{ "at86rf401", 6, "__AVR_AT86RF401__" },
|
||||
{ "avr25", ARCH_AVR25, NULL },
|
||||
{ "attiny13", ARCH_AVR25, "__AVR_ATtiny13__" },
|
||||
{ "attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__" },
|
||||
{ "attiny24", ARCH_AVR25, "__AVR_ATtiny24__" },
|
||||
{ "attiny44", ARCH_AVR25, "__AVR_ATtiny44__" },
|
||||
{ "attiny84", ARCH_AVR25, "__AVR_ATtiny84__" },
|
||||
{ "attiny25", ARCH_AVR25, "__AVR_ATtiny25__" },
|
||||
{ "attiny45", ARCH_AVR25, "__AVR_ATtiny45__" },
|
||||
{ "attiny85", ARCH_AVR25, "__AVR_ATtiny85__" },
|
||||
{ "attiny261", ARCH_AVR25, "__AVR_ATtiny261__" },
|
||||
{ "attiny461", ARCH_AVR25, "__AVR_ATtiny461__" },
|
||||
{ "attiny861", ARCH_AVR25, "__AVR_ATtiny861__" },
|
||||
{ "at86rf401", ARCH_AVR25, "__AVR_AT86RF401__" },
|
||||
/* Classic, > 8K. */
|
||||
{ "avr3", 3, NULL },
|
||||
{ "atmega103", 3, "__AVR_ATmega103__" },
|
||||
{ "atmega603", 3, "__AVR_ATmega603__" },
|
||||
{ "at43usb320", 3, "__AVR_AT43USB320__" },
|
||||
{ "at43usb355", 3, "__AVR_AT43USB355__" },
|
||||
{ "at76c711", 3, "__AVR_AT76C711__" },
|
||||
{ "avr3", ARCH_AVR3, NULL },
|
||||
{ "atmega103", ARCH_AVR3, "__AVR_ATmega103__" },
|
||||
{ "atmega603", ARCH_AVR3, "__AVR_ATmega603__" },
|
||||
{ "at43usb320", ARCH_AVR3, "__AVR_AT43USB320__" },
|
||||
{ "at43usb355", ARCH_AVR3, "__AVR_AT43USB355__" },
|
||||
{ "at76c711", ARCH_AVR3, "__AVR_AT76C711__" },
|
||||
/* Enhanced, <= 8K. */
|
||||
{ "avr4", 4, NULL },
|
||||
{ "atmega8", 4, "__AVR_ATmega8__" },
|
||||
{ "atmega48", 4, "__AVR_ATmega48__" },
|
||||
{ "atmega88", 4, "__AVR_ATmega88__" },
|
||||
{ "atmega8515", 4, "__AVR_ATmega8515__" },
|
||||
{ "atmega8535", 4, "__AVR_ATmega8535__" },
|
||||
{ "at90pwm1", 4, "__AVR_AT90PWM1__" },
|
||||
{ "at90pwm2", 4, "__AVR_AT90PWM2__" },
|
||||
{ "at90pwm3", 4, "__AVR_AT90PWM3__" },
|
||||
{ "at90usb82", 4, "__AVR_AT90USB82__" },
|
||||
{ "avr4", ARCH_AVR4, NULL },
|
||||
{ "atmega8", ARCH_AVR4, "__AVR_ATmega8__" },
|
||||
{ "atmega48", ARCH_AVR4, "__AVR_ATmega48__" },
|
||||
{ "atmega88", ARCH_AVR4, "__AVR_ATmega88__" },
|
||||
{ "atmega8515", ARCH_AVR4, "__AVR_ATmega8515__" },
|
||||
{ "atmega8535", ARCH_AVR4, "__AVR_ATmega8535__" },
|
||||
{ "at90pwm1", ARCH_AVR4, "__AVR_AT90PWM1__" },
|
||||
{ "at90pwm2", ARCH_AVR4, "__AVR_AT90PWM2__" },
|
||||
{ "at90pwm3", ARCH_AVR4, "__AVR_AT90PWM3__" },
|
||||
{ "at90usb82", ARCH_AVR4, "__AVR_AT90USB82__" },
|
||||
/* Enhanced, > 8K. */
|
||||
{ "avr5", 5, NULL },
|
||||
{ "atmega16", 5, "__AVR_ATmega16__" },
|
||||
{ "atmega161", 5, "__AVR_ATmega161__" },
|
||||
{ "atmega162", 5, "__AVR_ATmega162__" },
|
||||
{ "atmega163", 5, "__AVR_ATmega163__" },
|
||||
{ "atmega164p",5, "__AVR_ATmega164P__" },
|
||||
{ "atmega165", 5, "__AVR_ATmega165__" },
|
||||
{ "atmega165p",5, "__AVR_ATmega165P__" },
|
||||
{ "atmega168", 5, "__AVR_ATmega168__" },
|
||||
{ "atmega169", 5, "__AVR_ATmega169__" },
|
||||
{ "atmega169p",5, "__AVR_ATmega169P__" },
|
||||
{ "atmega32", 5, "__AVR_ATmega32__" },
|
||||
{ "atmega323", 5, "__AVR_ATmega323__" },
|
||||
{ "atmega324p",5, "__AVR_ATmega324P__" },
|
||||
{ "atmega325", 5, "__AVR_ATmega325__" },
|
||||
{ "atmega325p", 5, "__AVR_ATmega325P__" },
|
||||
{ "atmega3250", 5, "__AVR_ATmega3250__" },
|
||||
{ "atmega3250p", 5, "__AVR_ATmega3250P__" },
|
||||
{ "atmega329", 5, "__AVR_ATmega329__" },
|
||||
{ "atmega329p", 5, "__AVR_ATmega329P__" },
|
||||
{ "atmega3290", 5, "__AVR_ATmega3290__" },
|
||||
{ "atmega3290p", 5, "__AVR_ATmega3290P__" },
|
||||
{ "atmega406", 5, "__AVR_ATmega406__" },
|
||||
{ "atmega64", 5, "__AVR_ATmega64__" },
|
||||
{ "atmega640", 5, "__AVR_ATmega640__" },
|
||||
{ "atmega644", 5, "__AVR_ATmega644__" },
|
||||
{ "atmega644p",5, "__AVR_ATmega644P__" },
|
||||
{ "atmega645", 5, "__AVR_ATmega645__" },
|
||||
{ "atmega6450", 5, "__AVR_ATmega6450__" },
|
||||
{ "atmega649", 5, "__AVR_ATmega649__" },
|
||||
{ "atmega6490", 5, "__AVR_ATmega6490__" },
|
||||
{ "atmega128", 5, "__AVR_ATmega128__" },
|
||||
{ "atmega1280",5, "__AVR_ATmega1280__" },
|
||||
{ "atmega1281",5, "__AVR_ATmega1281__" },
|
||||
{ "at90can32", 5, "__AVR_AT90CAN32__" },
|
||||
{ "at90can64", 5, "__AVR_AT90CAN64__" },
|
||||
{ "at90can128", 5, "__AVR_AT90CAN128__" },
|
||||
{ "at90usb162", 5, "__AVR_AT90USB162__" },
|
||||
{ "at90usb646", 5, "__AVR_AT90USB646__" },
|
||||
{ "at90usb647", 5, "__AVR_AT90USB647__" },
|
||||
{ "at90usb1286", 5, "__AVR_AT90USB1286__" },
|
||||
{ "at90usb1287", 5, "__AVR_AT90USB1287__" },
|
||||
{ "at94k", 5, "__AVR_AT94K__" },
|
||||
{ "avr5", ARCH_AVR5, NULL },
|
||||
{ "atmega16", ARCH_AVR5, "__AVR_ATmega16__" },
|
||||
{ "atmega161", ARCH_AVR5, "__AVR_ATmega161__" },
|
||||
{ "atmega162", ARCH_AVR5, "__AVR_ATmega162__" },
|
||||
{ "atmega163", ARCH_AVR5, "__AVR_ATmega163__" },
|
||||
{ "atmega164p", ARCH_AVR5, "__AVR_ATmega164P__" },
|
||||
{ "atmega165", ARCH_AVR5, "__AVR_ATmega165__" },
|
||||
{ "atmega165p", ARCH_AVR5, "__AVR_ATmega165P__" },
|
||||
{ "atmega168", ARCH_AVR5, "__AVR_ATmega168__" },
|
||||
{ "atmega169", ARCH_AVR5, "__AVR_ATmega169__" },
|
||||
{ "atmega169p", ARCH_AVR5, "__AVR_ATmega169P__" },
|
||||
{ "atmega32", ARCH_AVR5, "__AVR_ATmega32__" },
|
||||
{ "atmega323", ARCH_AVR5, "__AVR_ATmega323__" },
|
||||
{ "atmega324p", ARCH_AVR5, "__AVR_ATmega324P__" },
|
||||
{ "atmega325", ARCH_AVR5, "__AVR_ATmega325__" },
|
||||
{ "atmega325p", ARCH_AVR5, "__AVR_ATmega325P__" },
|
||||
{ "atmega3250", ARCH_AVR5, "__AVR_ATmega3250__" },
|
||||
{ "atmega3250p", ARCH_AVR5, "__AVR_ATmega3250P__" },
|
||||
{ "atmega329", ARCH_AVR5, "__AVR_ATmega329__" },
|
||||
{ "atmega329p", ARCH_AVR5, "__AVR_ATmega329P__" },
|
||||
{ "atmega3290", ARCH_AVR5, "__AVR_ATmega3290__" },
|
||||
{ "atmega3290p", ARCH_AVR5, "__AVR_ATmega3290P__" },
|
||||
{ "atmega406", ARCH_AVR5, "__AVR_ATmega406__" },
|
||||
{ "atmega64", ARCH_AVR5, "__AVR_ATmega64__" },
|
||||
{ "atmega640", ARCH_AVR5, "__AVR_ATmega640__" },
|
||||
{ "atmega644", ARCH_AVR5, "__AVR_ATmega644__" },
|
||||
{ "atmega644p", ARCH_AVR5, "__AVR_ATmega644P__" },
|
||||
{ "atmega645", ARCH_AVR5, "__AVR_ATmega645__" },
|
||||
{ "atmega6450", ARCH_AVR5, "__AVR_ATmega6450__" },
|
||||
{ "atmega649", ARCH_AVR5, "__AVR_ATmega649__" },
|
||||
{ "atmega6490", ARCH_AVR5, "__AVR_ATmega6490__" },
|
||||
{ "atmega128", ARCH_AVR5, "__AVR_ATmega128__" },
|
||||
{ "atmega1280", ARCH_AVR5, "__AVR_ATmega1280__" },
|
||||
{ "atmega1281", ARCH_AVR5, "__AVR_ATmega1281__" },
|
||||
{ "at90can32", ARCH_AVR5, "__AVR_AT90CAN32__" },
|
||||
{ "at90can64", ARCH_AVR5, "__AVR_AT90CAN64__" },
|
||||
{ "at90can128", ARCH_AVR5, "__AVR_AT90CAN128__" },
|
||||
{ "at90usb162", ARCH_AVR5, "__AVR_AT90USB162__" },
|
||||
{ "at90usb646", ARCH_AVR5, "__AVR_AT90USB646__" },
|
||||
{ "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__" },
|
||||
{ "at90usb1286", ARCH_AVR5, "__AVR_AT90USB1286__" },
|
||||
{ "at90usb1287", ARCH_AVR5, "__AVR_AT90USB1287__" },
|
||||
{ "at94k", ARCH_AVR5, "__AVR_AT94K__" },
|
||||
/* Assembler only. */
|
||||
{ "avr1", 1, NULL },
|
||||
{ "at90s1200", 1, "__AVR_AT90S1200__" },
|
||||
{ "attiny11", 1, "__AVR_ATtiny11__" },
|
||||
{ "attiny12", 1, "__AVR_ATtiny12__" },
|
||||
{ "attiny15", 1, "__AVR_ATtiny15__" },
|
||||
{ "attiny28", 1, "__AVR_ATtiny28__" },
|
||||
{ NULL, 0, NULL }
|
||||
{ "avr1", ARCH_AVR1, NULL },
|
||||
{ "at90s1200", ARCH_AVR1, "__AVR_AT90S1200__" },
|
||||
{ "attiny11", ARCH_AVR1, "__AVR_ATtiny11__" },
|
||||
{ "attiny12", ARCH_AVR1, "__AVR_ATtiny12__" },
|
||||
{ "attiny15", ARCH_AVR1, "__AVR_ATtiny15__" },
|
||||
{ "attiny28", ARCH_AVR1, "__AVR_ATtiny28__" },
|
||||
{ NULL, ARCH_UNKNOWN, NULL }
|
||||
};
|
||||
|
||||
int avr_case_values_threshold = 30000;
|
||||
|
@ -757,9 +757,7 @@ mmcu=*:-mmcu=%*}"
|
||||
mmcu=at76*:-m avr3}\
|
||||
%{mmcu=atmega8*|\
|
||||
mmcu=atmega48|\
|
||||
mmcu=at90pwm1|\
|
||||
mmcu=at90pwm2|\
|
||||
mmcu=at90pwm3:-m avr4}\
|
||||
mmcu=at90pwm*:-m avr4}\
|
||||
%{mmcu=atmega16*|\
|
||||
mmcu=atmega32*|\
|
||||
mmcu=atmega406|\
|
||||
@ -770,18 +768,14 @@ mmcu=*:-mmcu=%*}"
|
||||
mmcu=at94k:-m avr5}\
|
||||
%{mmcu=atmega324*|\
|
||||
mmcu=atmega325*|\
|
||||
mmcu=atmega3250*|\
|
||||
mmcu=atmega329*|\
|
||||
mmcu=atmega3290*|\
|
||||
mmcu=atmega406|\
|
||||
mmcu=atmega48|\
|
||||
mmcu=atmega88|\
|
||||
mmcu=atmega64|\
|
||||
mmcu=atmega644*|\
|
||||
mmcu=atmega645|\
|
||||
mmcu=atmega6450|\
|
||||
mmcu=atmega649|\
|
||||
mmcu=atmega6490|\
|
||||
mmcu=atmega645*|\
|
||||
mmcu=atmega649*|\
|
||||
mmcu=atmega128|\
|
||||
mmcu=atmega162|\
|
||||
mmcu=atmega164*|\
|
||||
|
Loading…
x
Reference in New Issue
Block a user