invoke.texi (-Ofast): Also enables -fstack-arrays.
authorTobias Burnus <burnus@gcc.gnu.org>
Sat, 14 May 2011 09:39:38 +0000 (11:39 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Sat, 14 May 2011 09:39:38 +0000 (11:39 +0200)
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * options.c (gfc_init_options, gfc_post_options): Enable
        -fstack-arrays by default if -Ofast is used.
        * invoke.texi (-fstack-arrays): Document this.

From-SVN: r173751

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

index ef89e7a17d5c4eb360e9a7fc0e8be091048beecd..8b383030924e16e90c0bf4b4b19f7499740c0f39 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-14  Tobias Burnus  <burnus@net-b.de>
+
+       * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
+
 2011-05-13  Martin Jambor  <mjambor@suse.cz>
 
        * ipa-prop.c (ipa_cst_from_jfunc): New function.
index aee1e6b1fc36a9c38e22e855ca24ed68d9ba3c1e..6ed289e3b159961ef2b2c16f4fa7154bfc19c46b 100644 (file)
@@ -6000,7 +6000,7 @@ 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} and the Fortran-specific
-@option{-fno-protect-parens}.
+@option{-fno-protect-parens} and @option{-fstack-arrays}.
 
 If you use multiple @option{-O} options, with or without level numbers,
 the last such option is the one that is effective.
index afc553384adff5236c346065cbc122c45ad7edd5..b4168316436bf7b06a0c42006ef313527a00cc2d 100644 (file)
@@ -1,21 +1,27 @@
+2011-05-14  Tobias Burnus  <burnus@net-b.de>
+
+       * options.c (gfc_init_options, gfc_post_options): Enable
+       -fstack-arrays by default if -Ofast is used.
+       * invoke.texi (-fstack-arrays): Document this.
+
 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
 
-        PR libfortran/48915
-        * gfortran.h (gfc_option_t): Remove flag_dump_core.
-        * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
-        (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
-        * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
-        * invoke.texi: Remove -fdump-core, document that -fbacktrace is
-        enabled by default.
-        * lang.opt: Remove -fdump-core.
-        * options.c (gfc_init_options): Make backtrace default to enabled,
-        remove dump_core.
-        (gfc_handle_option): Remove OPT_fdump-core.
-        * trans-decl.c: Pass a 0 to preserve ABI.
+       PR libfortran/48915
+       * gfortran.h (gfc_option_t): Remove flag_dump_core.
+       * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
+       (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
+       * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
+       * invoke.texi: Remove -fdump-core, document that -fbacktrace is
+       enabled by default.
+       * lang.opt: Remove -fdump-core.
+       * options.c (gfc_init_options): Make backtrace default to enabled,
+       remove dump_core.
+       (gfc_handle_option): Remove OPT_fdump-core.
+       * trans-decl.c: Pass a 0 to preserve ABI.
 
 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
 
-        * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
+       * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
 
 2011-05-13  Tobias Burnus  <burnus@net-b.de>
 
index f68b18c677663eafdb29fa51b24af2b8b61fb4a1..ab45072efadc0d2dc97ec26b5b92e56618424ab9 100644 (file)
@@ -1381,7 +1381,9 @@ The default value for @var{n} is 32768.
 Adding this option will make the fortran compiler put all local arrays,
 even those of unknown size onto stack memory.  If your program uses very
 large local arrays it's possible that you'll have to extend your runtime
-limits for stack memory on some operating systems.
+limits for stack memory on some operating systems. This flag is enabled
+by default at optimization level @option{-Ofast}.
+
 
 @item -fpack-derived
 @opindex @code{fpack-derived}
index d4778ba7b1ea67c056945526e335a2188028fecf..920b95f33fe4d1ec69206921826a7b77263ec813 100644 (file)
@@ -125,7 +125,7 @@ gfc_init_options (unsigned int decoded_options_count,
 
   /* Default value of flag_max_stack_var_size is set in gfc_post_options.  */
   gfc_option.flag_max_stack_var_size = -2;
-  gfc_option.flag_stack_arrays = 0;
+  gfc_option.flag_stack_arrays = -1;
 
   gfc_option.flag_range_check = 1;
   gfc_option.flag_pack_derived = 0;
@@ -274,6 +274,9 @@ gfc_post_options (const char **pfilename)
   if (gfc_option.flag_protect_parens == -1)
     gfc_option.flag_protect_parens = !optimize_fast;
 
+  if (gfc_option.flag_stack_arrays == -1)
+    gfc_option.flag_stack_arrays = 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)