re PR fortran/48864 (-Ofast should imply -fno-protect-parens)
authorTobias Burnus <burnus@net-b.de>
Wed, 4 May 2011 17:10:15 +0000 (19:10 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Wed, 4 May 2011 17:10:15 +0000 (19:10 +0200)
gcc/
2011-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48864
        * doc/invoke.texi (Ofast): Document that it
        enables Fortran's -fno-protect-parens.

gcc/fortran
2011-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48864
        * invoke.texi (fno-protect-parens): Document
        that -Ofast implies -fno-protect-parens.
        * options.c (gfc_init_options, gfc_post_options):
        Make -Ofast imply -fno-protect-parens.

From-SVN: r173385

gcc/ChangeLog
gcc/doc/invoke.texi
gcc/fortran/ChangeLog
gcc/fortran/invoke.texi
gcc/fortran/options.c

index ca856167adcdb0a01135dd06554ad76518e772de..00d84974ca30888affe39cdeaad662b5a56c297f 100644 (file)
@@ -1,3 +1,9 @@
+2011-05-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48864
+       * doc/invoke.texi (Ofast): Document that it
+       enables Fortran's -fno-protect-parens.
+
 2011-05-04  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
index 8602923e85fc6eaaa0b408e35824092559405bd8..9e2765326437569715597dbe44d7decf7ac4e52d 100644 (file)
@@ -5999,7 +5999,8 @@ optimizations designed to reduce code size.
 Disregard strict standards compliance.  @option{-Ofast} enables all
 @option{-O3} optimizations.  It also enables optimizations that are not
 valid for all standard compliant programs.
-It turns on @option{-ffast-math}.
+It turns on @option{-ffast-math} and the Fortran-specific
+@option{-fno-protect-parens}.
 
 If you use multiple @option{-O} options, with or without level numbers,
 the last such option is the one that is effective.
index 9544af2ed0f2eaf01be4982e4c1544877d13903a..5ab6e334cc10db69aee93a2c1cd547a33b045762 100644 (file)
@@ -1,3 +1,11 @@
+2011-05-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48864
+       * invoke.texi (fno-protect-parens): Document
+       that -Ofast implies -fno-protect-parens.
+       * options.c (gfc_init_options, gfc_post_options):
+       Make -Ofast imply -fno-protect-parens.
+
 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
 
        * trans-decl.c (build_library_function_decl_1): Call
index 0874e5c4bec86ef69d69f3661920849b9ed4a677..d24c2f28fba1758975ec41dbd61f91636dd0ac02 100644 (file)
@@ -1488,7 +1488,8 @@ levels such that the compiler does not do any re-association. Using
 @option{-fno-protect-parens} allows the compiler to reorder @code{REAL} and
 @code{COMPLEX} expressions to produce faster code. Note that for the re-association
 optimization @option{-fno-signed-zeros} and @option{-fno-trapping-math}
-need to be in effect.
+need to be in effect. The parentheses protection is enabled by default, unless
+@option{-Ofast} is given.
 
 @item -frealloc-lhs
 @opindex @code{frealloc-lhs}
index f56fad7fce46da42287402b2fccbc0c96fb88694..e27457233e569ab2442f4ebd644a3c0513fab902 100644 (file)
@@ -151,7 +151,7 @@ gfc_init_options (unsigned int decoded_options_count,
   gfc_option.flag_init_character = GFC_INIT_CHARACTER_OFF;
   gfc_option.flag_init_character_value = (char)0;
   gfc_option.flag_align_commons = 1;
-  gfc_option.flag_protect_parens = 1;
+  gfc_option.flag_protect_parens = -1;
   gfc_option.flag_realloc_lhs = -1;
   gfc_option.flag_aggressive_function_elimination = 0;
   gfc_option.flag_frontend_optimize = -1;
@@ -272,6 +272,9 @@ gfc_post_options (const char **pfilename)
   if (flag_associative_math == -1)
     flag_associative_math = (!flag_trapping_math && !flag_signed_zeros);
 
+  if (gfc_option.flag_protect_parens == -1)
+    gfc_option.flag_protect_parens = !optimize_fast;
+
   /* By default, disable (re)allocation during assignment for -std=f95,
      and enable it for F2003/F2008/GNU/Legacy. */
   if (gfc_option.flag_realloc_lhs == -1)