aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/avr/avr.h
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2012-09-17 15:22:37 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2012-09-17 15:22:37 +0000
commite3cf7a9538c683494b4965fa3e70ff76b9e314c7 (patch)
tree92c612c0afc3dec11f361bf5f0e2430e4bc1c0ba /gcc/config/avr/avr.h
parent78ab1ff46b119d7e5e3420999499689b90e73358 (diff)
downloadgcc-e3cf7a9538c683494b4965fa3e70ff76b9e314c7.zip
gcc-e3cf7a9538c683494b4965fa3e70ff76b9e314c7.tar.gz
gcc-e3cf7a9538c683494b4965fa3e70ff76b9e314c7.tar.bz2
re PR target/54607 ([avr]: Canadian cross build fails because gen-avr-mmcu-texi.c is compiled with the wrong compiler)
PR target/54607 * config.gcc (tm_file,avr): Add avr/avr-arch.h. * config/avr/t-avr (gen-avr-mmcu-texi): Use CC_FOR_BUILD to compile. Don't depend on TM_H. Use CFLAGS_FOR_BUILD. * config/avr/avr.h (avr_arch, base_arch_s, mcu_type_s): Source out to... * config/avr/avr-arch.h: ...this new file. * config/avr/gen-avr-mmcu-texi.c: Include avr-arch.h, stdio.h, stdlib.h. * comparator: Make letters smaller than digits. * config/avr/avr-devices.c: Don't include headers if used in gen-avr-mmcu-texi.c. * doc/avr-mmcu.texi: Regenerate. From-SVN: r191390
Diffstat (limited to 'gcc/config/avr/avr.h')
-rw-r--r--gcc/config/avr/avr.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index f868668..8488ecd 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -21,133 +21,6 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Names to predefine in the preprocessor for this target machine. */
-
-struct base_arch_s
-{
- /* Assembler only. */
- int asm_only;
-
- /* Core have 'MUL*' instructions. */
- int have_mul;
-
- /* Core have 'CALL' and 'JMP' instructions. */
- int have_jmp_call;
-
- /* Core have 'MOVW' and 'LPM Rx,Z' instructions. */
- int have_movw_lpmx;
-
- /* Core have 'ELPM' instructions. */
- int have_elpm;
-
- /* Core have 'ELPM Rx,Z' instructions. */
- int have_elpmx;
-
- /* Core have 'EICALL' and 'EIJMP' instructions. */
- int have_eijmp_eicall;
-
- /* This is an XMEGA core. */
- int xmega_p;
-
- /* This core has the RAMPD special function register
- and thus also the RAMPX, RAMPY and RAMPZ registers. */
- int have_rampd;
-
- /* Default start of data section address for architecture. */
- int default_data_section_start;
-
- /* Offset between SFR address and RAM address:
- SFR-address = RAM-address - sfr_offset */
- int sfr_offset;
-
- /* Architecture id to built-in define __AVR_ARCH__ (NULL -> no macro) */
- const char *const macro;
-
- /* Architecture name. */
- const char *const arch_name;
-};
-
-/* 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_AVR31,
- ARCH_AVR35,
- ARCH_AVR4,
- ARCH_AVR5,
- ARCH_AVR51,
- ARCH_AVR6,
- ARCH_AVRXMEGA2,
- ARCH_AVRXMEGA4,
- ARCH_AVRXMEGA5,
- ARCH_AVRXMEGA6,
- ARCH_AVRXMEGA7
-};
-
-struct mcu_type_s {
- /* Device name. */
- const char *const name;
-
- /* Index in avr_arch_types[]. */
- enum avr_arch arch;
-
- /* Must lie outside user's namespace. NULL == no macro. */
- const char *const macro;
-
- /* Stack pointer have 8 bits width. */
- int short_sp;
-
- /* Some AVR devices have a core erratum when skipping a 2-word instruction.
- Skip instructions are: SBRC, SBRS, SBIC, SBIS, CPSE.
- Problems will occur with return address is IRQ executes during the
- skip sequence.
-
- A support ticket from Atmel returned the following information:
-
- Subject: (ATTicket:644469) On AVR skip-bug core Erratum
- From: avr@atmel.com Date: 2011-07-27
- (Please keep the subject when replying to this mail)
-
- This errata exists only in AT90S8515 and ATmega103 devices.
-
- For information please refer the following respective errata links
- http://www.atmel.com/dyn/resources/prod_documents/doc2494.pdf
- http://www.atmel.com/dyn/resources/prod_documents/doc1436.pdf */
-
- /* Core Erratum: Must not skip 2-word instruction. */
- int errata_skip;
-
- /* Start of data section. */
- int data_section_start;
-
- /* Number of 64k segments in the flash. */
- int n_flash;
-
- /* Name of device library. */
- const char *const library_name;
-};
-
-struct arch_info_s {
- /* Architecture ID. */
- enum avr_arch arch;
-
- /* textinfo source to describe the archtiecture. */
- const char *texinfo;
-};
-
-/* Preprocessor macros to define depending on MCU type. */
-extern const char *avr_extra_arch_macro;
-extern const struct base_arch_s *avr_current_arch;
-extern const struct mcu_type_s *avr_current_device;
-extern const struct mcu_type_s avr_mcu_types[];
-extern const struct base_arch_s avr_arch_types[];
-
typedef struct
{
/* Id of the address space as used in c_register_addr_space */