[Patch] Remove all uses of TARGET_FLT_EVAL_METHOD_NON_DEFAULT and poison it
authorJames Greenhalgh <james.greenhalgh@arm.com>
Thu, 29 Sep 2016 08:41:34 +0000 (08:41 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Thu, 29 Sep 2016 08:41:34 +0000 (08:41 +0000)
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
gcc/ada/ChangeLog
gcc/ada/gcc-interface/misc.c
gcc/c-family/ChangeLog
gcc/c-family/c-opts.c
gcc/defaults.h
gcc/fortran/ChangeLog
gcc/fortran/options.c
gcc/java/ChangeLog
gcc/java/lang.c
gcc/system.h

index 590b547456de3db592ef13cf4fcb13f75676160b..a5c8e1bb9967de1ff6452cf8a9366660d1332ffd 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove.
+       * system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison.
+
 2016-09-29  Richard Biener  <rguenther@suse.de>
 
        * tree-vrp.c (set_defs_to_varying): New helper avoiding
index 4f941ec8501370f3853dd210fe83348ce8587947..ac36b5eca0a0efa6599bdd4a49dc42a49a1a4dd7 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * 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  <jakub@redhat.com>
 
        * terminals.c (is_gui_app): Remove break after return.
index 6d8480327b6ea68a533352c968b6af9b78c97583..fa3fdd7b593f60dbad827bbd0174b92253862613 100644 (file)
@@ -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;
 
index d24e9526b449eb5c7cbe824344e62ae25f743636..c85bd729e4ed7951b4c6ee342ba730fe70d90c73 100644 (file)
@@ -1,3 +1,9 @@
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * 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  <jakub@redhat.com>
 
        * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
index e83944c90ad702f0959fdf78b5608b0feb6ef337..5fe3132b3c277fc434a5f621f9024cd8b5880b86 100644 (file)
@@ -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;
     }
index af8fe916be49e745c842d992a5af372c46ec2fe3..c62c844cbebfd361ff9ef3157178e992bd518554 100644 (file)
@@ -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
index a2b9a96ecedfec5690b1ebaf762ecfabd8c10431..53fab3d8fc8388303679bbdc5f000684dcc1f7bc 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * options.c (gfc_post_options): Remove special case for
+       TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
+
 2016-09-27  Jakub Jelinek  <jakub@redhat.com>
 
        * dependency.c (gfc_dep_compare_expr): Remove break after return.
index 13dfa88c7c7190c343c4d1460fb3aca9105d4f38..5881a8825c949fb018e24663060421ff15cdfe30 100644 (file)
@@ -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;
 
index 20a6df2a4b8fe5fc70336d38ec55858c6cc289ea..770b4226aa230941db15eaadb046fed34f670d05 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * lang.c (java_post_options): Remove special case for
+       TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
+
 2016-09-22  Richard Biener  <rguenther@suse.de>
 
        java/
index 1c6dde455e225a40c1782ace2e79f51fa017e45c..65025eeeb72a8c5e45be4423c1b45bce89592b70 100644 (file)
@@ -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;
 
index 0952e4f6e8f83c606b310bf95cd69a729387b38a..cc353f555aea9c4f5a740c878c70909bc6f803e6 100644 (file)
@@ -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  \