diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-cppbuiltin.c | 22 | ||||
-rw-r--r-- | gcc/config/i386/cygming.h | 3 | ||||
-rw-r--r-- | gcc/config/i386/darwin.h | 3 | ||||
-rw-r--r-- | gcc/config/i386/dragonfly.h | 3 | ||||
-rw-r--r-- | gcc/config/i386/freebsd.h | 3 | ||||
-rw-r--r-- | gcc/config/i386/gnu-user-common.h | 3 | ||||
-rw-r--r-- | gcc/config/i386/openbsdelf.h | 3 | ||||
-rw-r--r-- | gcc/config/i386/sol2.h | 3 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 3 | ||||
-rw-r--r-- | gcc/config/ia64/linux.h | 4 | ||||
-rw-r--r-- | gcc/system.h | 2 |
13 files changed, 41 insertions, 29 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37749c7..0c7b215 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2014-09-18 Joseph Myers <joseph@codesourcery.com> + + * system.h (LIBGCC2_TF_CEXT): Poison. + * config/i386/cygming.h (LIBGCC2_TF_CEXT): Remove. + * config/i386/darwin.h (LIBGCC2_TF_CEXT): Likewise. + * config/i386/dragonfly.h (LIBGCC2_TF_CEXT): Likewise. + * config/i386/freebsd.h (LIBGCC2_TF_CEXT): Likewise. + * config/i386/gnu-user-common.h (LIBGCC2_TF_CEXT): Likewise. + * config/i386/openbsdelf.h (LIBGCC2_TF_CEXT): Likewise. + * config/i386/sol2.h (LIBGCC2_TF_CEXT): Likewise. + * config/ia64/ia64.h (LIBGCC2_TF_CEXT): Likewise. + * config/ia64/linux.h (LIBGCC2_TF_CEXT): Likewise. + 2014-09-19 Kito Cheng <kito@0xlab.org> * except.h: Fix header guard. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 0b22cf6..efe7417 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2014-09-18 Joseph Myers <joseph@codesourcery.com> + + * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__ + for supported floating-point modes. + 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org> * c.opt (Wpsabi): Use LangEnabledBy. diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c index b4095a0..9e2040b 100644 --- a/gcc/c-family/c-cppbuiltin.c +++ b/gcc/c-family/c-cppbuiltin.c @@ -956,6 +956,28 @@ c_cpp_builtins (cpp_reader *pfile) + sizeof ("__LIBGCC_HAS__MODE__")); sprintf (macro_name, "__LIBGCC_HAS_%s_MODE__", name); cpp_define (pfile, macro_name); + macro_name = (char *) alloca (strlen (name) + + sizeof ("__LIBGCC__FUNC_EXT__")); + sprintf (macro_name, "__LIBGCC_%s_FUNC_EXT__", name); + const char *suffix; + if (mode == TYPE_MODE (double_type_node)) + suffix = ""; + else if (mode == TYPE_MODE (float_type_node)) + suffix = "f"; + else if (mode == TYPE_MODE (long_double_type_node)) + suffix = "l"; + /* ??? The following assumes the built-in functions (defined + in target-specific code) match the suffixes used for + constants. Because in fact such functions are not + defined for the 'w' suffix, 'l' is used there + instead. */ + else if (mode == targetm.c.mode_for_suffix ('q')) + suffix = "q"; + else if (mode == targetm.c.mode_for_suffix ('w')) + suffix = "l"; + else + gcc_unreachable (); + builtin_define_with_value (macro_name, suffix, 0); } /* For libgcc crtstuff.c and libgcc2.c. */ diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index a2c3773..95b8f6f 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -339,9 +339,6 @@ do { \ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q - /* Output function declarations at the end of the file. */ #undef TARGET_ASM_FILE_END #define TARGET_ASM_FILE_END i386_pe_file_end diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h index cafc98a..c1a55c1 100644 --- a/gcc/config/i386/darwin.h +++ b/gcc/config/i386/darwin.h @@ -153,9 +153,6 @@ extern int darwin_emit_branch_islands; #define SHIFT_DOUBLE_OMITS_COUNT 0 -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q - #undef TARGET_ASM_FILE_END #define TARGET_ASM_FILE_END darwin_file_end diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h index b46a13e..0951128 100644 --- a/gcc/config/i386/dragonfly.h +++ b/gcc/config/i386/dragonfly.h @@ -89,9 +89,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #undef TARGET_96_ROUND_53_LONG_DOUBLE #define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT) -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q - /* Static stack checking is supported by means of probes. */ #define STACK_CHECK_STATIC_BUILTIN 1 diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h index b09bfd0..e341f6b 100644 --- a/gcc/config/i386/freebsd.h +++ b/gcc/config/i386/freebsd.h @@ -131,9 +131,6 @@ along with GCC; see the file COPYING3. If not see #undef TARGET_96_ROUND_53_LONG_DOUBLE #define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT) -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q - /* Static stack checking is supported by means of probes. */ #define STACK_CHECK_STATIC_BUILTIN 1 diff --git a/gcc/config/i386/gnu-user-common.h b/gcc/config/i386/gnu-user-common.h index 5f19735..0e61996 100644 --- a/gcc/config/i386/gnu-user-common.h +++ b/gcc/config/i386/gnu-user-common.h @@ -57,9 +57,6 @@ along with GCC; see the file COPYING3. If not see GNU_USER_TARGET_MATHFILE_SPEC " " \ GNU_USER_TARGET_ENDFILE_SPEC -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack /* The stack pointer needs to be moved while checking the stack. */ diff --git a/gcc/config/i386/openbsdelf.h b/gcc/config/i386/openbsdelf.h index 8e2ecea..470fbed 100644 --- a/gcc/config/i386/openbsdelf.h +++ b/gcc/config/i386/openbsdelf.h @@ -111,6 +111,3 @@ along with GCC; see the file COPYING3. If not see #define OBSD_HAS_CORRECT_SPECS #define HAVE_ENABLE_EXECUTE_STACK - -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index be1e6fc..79ad8c1 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -236,6 +236,3 @@ along with GCC; see the file COPYING3. If not see #ifndef USE_GLD #define USE_HIDDEN_LINKONCE 0 #endif - -/* Put all *tf routines in libgcc. */ -#define LIBGCC2_TF_CEXT q diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index dd14b8a..4cc80a9 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -258,9 +258,6 @@ while (0) #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE (TARGET_ABI_OPEN_VMS ? 64 : 80) -/* On HP-UX, we use the l suffix for TFmode in libgcc2.c. */ -#define LIBGCC2_TF_CEXT l - #define DEFAULT_SIGNED_CHAR 1 /* A C expression for a string describing the name of the data type to use for diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h index bd1b582..e4b12ec 100644 --- a/gcc/config/ia64/linux.h +++ b/gcc/config/ia64/linux.h @@ -76,10 +76,6 @@ do { \ #undef LINK_EH_SPEC #define LINK_EH_SPEC "" -/* Put all *tf routines in libgcc. */ -#undef LIBGCC2_TF_CEXT -#define LIBGCC2_TF_CEXT q - #undef TARGET_INIT_LIBFUNCS #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs diff --git a/gcc/system.h b/gcc/system.h index 416837c..3208a9d 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -936,7 +936,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; EXTRA_CONSTRAINT_STR EXTRA_MEMORY_CONSTRAINT \ EXTRA_ADDRESS_CONSTRAINT CONST_DOUBLE_OK_FOR_CONSTRAINT_P \ CALLER_SAVE_PROFITABLE LARGEST_EXPONENT_IS_NORMAL \ - ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE + ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE LIBGCC2_TF_CEXT /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ |