comparison gcc/config/avr/avr.h @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 /* Definitions of target machine for GNU compiler, 1 /* Definitions of target machine for GNU compiler,
2 for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers. 2 for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers.
3 Copyright (C) 1998-2018 Free Software Foundation, Inc. 3 Copyright (C) 1998-2020 Free Software Foundation, Inc.
4 Contributed by Denis Chertykov (chertykov@gmail.com) 4 Contributed by Denis Chertykov (chertykov@gmail.com)
5 5
6 This file is part of GCC. 6 This file is part of GCC.
7 7
8 GCC is free software; you can redistribute it and/or modify 8 GCC is free software; you can redistribute it and/or modify
105 105
106 #define BITS_BIG_ENDIAN 0 106 #define BITS_BIG_ENDIAN 0
107 #define BYTES_BIG_ENDIAN 0 107 #define BYTES_BIG_ENDIAN 0
108 #define WORDS_BIG_ENDIAN 0 108 #define WORDS_BIG_ENDIAN 0
109 109
110 #define FLOAT_LIB_COMPARE_RETURNS_BOOL(mode, comparison) \
111 avr_float_lib_compare_returns_bool (mode, comparison)
112
110 #ifdef IN_LIBGCC2 113 #ifdef IN_LIBGCC2
111 /* This is to get correct SI and DI modes in libgcc2.c (32 and 64 bits). */ 114 /* This is to get correct SI and DI modes in libgcc2.c (32 and 64 bits). */
112 #define UNITS_PER_WORD 4 115 #define UNITS_PER_WORD 4
113 #else 116 #else
114 /* Width of a word, in units (bytes). */ 117 /* Width of a word, in units (bytes). */
138 #define INT_TYPE_SIZE (TARGET_INT8 ? 8 : 16) 141 #define INT_TYPE_SIZE (TARGET_INT8 ? 8 : 16)
139 #define SHORT_TYPE_SIZE (INT_TYPE_SIZE == 8 ? INT_TYPE_SIZE : 16) 142 #define SHORT_TYPE_SIZE (INT_TYPE_SIZE == 8 ? INT_TYPE_SIZE : 16)
140 #define LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 16 : 32) 143 #define LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 16 : 32)
141 #define LONG_LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 32 : 64) 144 #define LONG_LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 32 : 64)
142 #define FLOAT_TYPE_SIZE 32 145 #define FLOAT_TYPE_SIZE 32
143 #define DOUBLE_TYPE_SIZE 32 146 #define DOUBLE_TYPE_SIZE (avr_double)
144 #define LONG_DOUBLE_TYPE_SIZE 32 147 #define LONG_DOUBLE_TYPE_SIZE (avr_long_double)
148
145 #define LONG_LONG_ACCUM_TYPE_SIZE 64 149 #define LONG_LONG_ACCUM_TYPE_SIZE 64
146 150
147 #define DEFAULT_SIGNED_CHAR 1 151 #define DEFAULT_SIGNED_CHAR 1
148 152
149 #define SIZE_TYPE (INT_TYPE_SIZE == 8 ? "long unsigned int" : "unsigned int") 153 #define SIZE_TYPE (INT_TYPE_SIZE == 8 ? "long unsigned int" : "unsigned int")
505 509
506 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \ 510 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
507 (LENGTH = avr_adjust_insn_length (INSN, LENGTH)) 511 (LENGTH = avr_adjust_insn_length (INSN, LENGTH))
508 512
509 extern const char *avr_devicespecs_file (int, const char**); 513 extern const char *avr_devicespecs_file (int, const char**);
510 514 extern const char *avr_double_lib (int, const char**);
511 #define EXTRA_SPEC_FUNCTIONS \ 515
516 #define EXTRA_SPEC_FUNCTIONS \
517 { "double-lib", avr_double_lib }, \
512 { "device-specs-file", avr_devicespecs_file }, 518 { "device-specs-file", avr_devicespecs_file },
513 519
514 /* Driver self specs has lmited functionality w.r.t. '%s' for dynamic specs. 520 /* Driver self specs has lmited functionality w.r.t. '%s' for dynamic specs.
515 Apply '%s' to a static string to inflate the file (directory) name which 521 Apply '%s' to a static string to inflate the file (directory) name which
516 is used to diagnose problems with reading the specs file. */ 522 is used to diagnose problems with reading the specs file. */
517 523
518 #undef DRIVER_SELF_SPECS 524 #undef DRIVER_SELF_SPECS
519 #define DRIVER_SELF_SPECS \ 525 #define DRIVER_SELF_SPECS \
526 " %:double-lib(%{m*:m%*})" \
520 " %:device-specs-file(device-specs%s %{mmcu=*:%*})" 527 " %:device-specs-file(device-specs%s %{mmcu=*:%*})"
521 528
522 /* No libstdc++ for now. Empty string doesn't work. */ 529 /* No libstdc++ for now. Empty string doesn't work. */
523 #define LIBSTDCXX "gcc" 530 #define LIBSTDCXX "gcc"
524 531