From 75304c879397bf5179784f004076ce8ef74643a6 Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Thu, 29 Sep 2016 08:41:34 +0000 Subject: [Patch] Remove all uses of TARGET_FLT_EVAL_METHOD_NON_DEFAULT and poison it I'm going to hookize TARGET_FLT_EVAL_METHOD, so the current definition of TARGET_FLT_EVAL_METHOD_NON_DEFAULT will stop working. The relaxation enabled by TARGET_FLT_METHOD_NON_DEFAULT isn't portable, and keeping it in place is tricky, so this patch removes it, and poisons TARGET_FLT_EVAL_METHOD_NON_DEFAULT in system.h to prevent future use. gcc/ * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove. * system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison. gcc/c-family/ * c-opts.c (c_common_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard in C++. gcc/java/ * lang.c (java_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. gcc/fortran/ * options.c (gfc_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. gcc/ada/ * gcc-interface/misc.c (gnat_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. From-SVN: r240614 --- gcc/ChangeLog | 5 +++++ gcc/ada/ChangeLog | 5 +++++ gcc/ada/gcc-interface/misc.c | 3 +-- gcc/c-family/ChangeLog | 6 ++++++ gcc/c-family/c-opts.c | 3 +-- gcc/defaults.h | 5 +---- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/options.c | 3 +-- gcc/java/ChangeLog | 5 +++++ gcc/java/lang.c | 3 +-- gcc/system.h | 3 ++- 11 files changed, 33 insertions(+), 13 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 590b547..a5c8e1b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-09-29 James Greenhalgh + + * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove. + * system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison. + 2016-09-29 Richard Biener * tree-vrp.c (set_defs_to_varying): New helper avoiding diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 4f941ec..ac36b5e 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2016-09-29 James Greenhalgh + + * gcc-interface/misc.c (gnat_post_options): Remove special case for + TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. + 2016-09-27 Jakub Jelinek * terminals.c (is_gui_app): Remove break after return. diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 6d84803..fa3fdd7 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -255,8 +255,7 @@ static bool gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED) { /* Excess precision other than "fast" requires front-end support. */ - if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD - && TARGET_FLT_EVAL_METHOD_NON_DEFAULT) + if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD) sorry ("-fexcess-precision=standard for Ada"); flag_excess_precision_cmdline = EXCESS_PRECISION_FAST; diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index d24e952..c85bd72 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2016-09-29 James Greenhalgh + + * c-opts.c (c_common_post_options): Remove special case for + TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard + in C++. + 2016-09-27 Jakub Jelinek * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c index e83944c..5fe3132 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -770,8 +770,7 @@ c_common_post_options (const char **pfilename) support. */ if (c_dialect_cxx ()) { - if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD - && TARGET_FLT_EVAL_METHOD_NON_DEFAULT) + if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD) sorry ("-fexcess-precision=standard for C++"); flag_excess_precision_cmdline = EXCESS_PRECISION_FAST; } diff --git a/gcc/defaults.h b/gcc/defaults.h index af8fe91..c62c844 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -963,11 +963,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define REG_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN #endif -#ifdef TARGET_FLT_EVAL_METHOD -#define TARGET_FLT_EVAL_METHOD_NON_DEFAULT 1 -#else +#ifndef TARGET_FLT_EVAL_METHOD #define TARGET_FLT_EVAL_METHOD 0 -#define TARGET_FLT_EVAL_METHOD_NON_DEFAULT 0 #endif #ifndef TARGET_DEC_EVAL_METHOD diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a2b9a96..53fab3d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2016-09-29 James Greenhalgh + + * options.c (gfc_post_options): Remove special case for + TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. + 2016-09-27 Jakub Jelinek * dependency.c (gfc_dep_compare_expr): Remove break after return. diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 13dfa88..5881a88 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -210,8 +210,7 @@ gfc_post_options (const char **pfilename) /* Excess precision other than "fast" requires front-end support. */ - if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD - && TARGET_FLT_EVAL_METHOD_NON_DEFAULT) + if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD) sorry ("-fexcess-precision=standard for Fortran"); flag_excess_precision_cmdline = EXCESS_PRECISION_FAST; diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 20a6df2..770b422 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2016-09-29 James Greenhalgh + + * lang.c (java_post_options): Remove special case for + TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. + 2016-09-22 Richard Biener java/ diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 1c6dde4..65025ee 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -569,8 +569,7 @@ java_post_options (const char **pfilename) /* Excess precision other than "fast" requires front-end support. */ - if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD - && TARGET_FLT_EVAL_METHOD_NON_DEFAULT) + if (flag_excess_precision_cmdline == EXCESS_PRECISION_STANDARD) sorry ("-fexcess-precision=standard for Java"); flag_excess_precision_cmdline = EXCESS_PRECISION_FAST; diff --git a/gcc/system.h b/gcc/system.h index 0952e4f..cc353f5 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -986,7 +986,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; 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 LIBGCC2_TF_CEXT \ - LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE EH_FRAME_IN_DATA_SECTION + LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE \ + EH_FRAME_IN_DATA_SECTION TARGET_FLT_EVAL_METHOD_NON_DEFAULT /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ -- cgit v1.1