Mercurial > hg > CbC > CbC_gcc
diff 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 |
line wrap: on
line diff
--- a/gcc/config/avr/avr.h Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/config/avr/avr.h Thu Feb 13 11:34:05 2020 +0900 @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers. - Copyright (C) 1998-2018 Free Software Foundation, Inc. + Copyright (C) 1998-2020 Free Software Foundation, Inc. Contributed by Denis Chertykov (chertykov@gmail.com) This file is part of GCC. @@ -107,6 +107,9 @@ #define BYTES_BIG_ENDIAN 0 #define WORDS_BIG_ENDIAN 0 +#define FLOAT_LIB_COMPARE_RETURNS_BOOL(mode, comparison) \ + avr_float_lib_compare_returns_bool (mode, comparison) + #ifdef IN_LIBGCC2 /* This is to get correct SI and DI modes in libgcc2.c (32 and 64 bits). */ #define UNITS_PER_WORD 4 @@ -140,8 +143,9 @@ #define LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 16 : 32) #define LONG_LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 32 : 64) #define FLOAT_TYPE_SIZE 32 -#define DOUBLE_TYPE_SIZE 32 -#define LONG_DOUBLE_TYPE_SIZE 32 +#define DOUBLE_TYPE_SIZE (avr_double) +#define LONG_DOUBLE_TYPE_SIZE (avr_long_double) + #define LONG_LONG_ACCUM_TYPE_SIZE 64 #define DEFAULT_SIGNED_CHAR 1 @@ -507,8 +511,10 @@ (LENGTH = avr_adjust_insn_length (INSN, LENGTH)) extern const char *avr_devicespecs_file (int, const char**); +extern const char *avr_double_lib (int, const char**); -#define EXTRA_SPEC_FUNCTIONS \ +#define EXTRA_SPEC_FUNCTIONS \ + { "double-lib", avr_double_lib }, \ { "device-specs-file", avr_devicespecs_file }, /* Driver self specs has lmited functionality w.r.t. '%s' for dynamic specs. @@ -516,7 +522,8 @@ is used to diagnose problems with reading the specs file. */ #undef DRIVER_SELF_SPECS -#define DRIVER_SELF_SPECS \ +#define DRIVER_SELF_SPECS \ + " %:double-lib(%{m*:m%*})" \ " %:device-specs-file(device-specs%s %{mmcu=*:%*})" /* No libstdc++ for now. Empty string doesn't work. */