summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-05 14:15:37 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-05 14:15:37 +0000
commita7bdd7744ccef35a997fc94ac10ff3f204caca59 (patch)
tree77dfe5d69160e908ad7f2e92fb3778e68a9ca0a0
parent9ad2e3f3b227187ee891e9a0bd1161c8560fc3e2 (diff)
downloadppe42-gcc-a7bdd7744ccef35a997fc94ac10ff3f204caca59.tar.gz
ppe42-gcc-a7bdd7744ccef35a997fc94ac10ff3f204caca59.zip
2010-01-05 Tobias Burnus <burnus@net-b.de>
PR fortran/42517 * options.c (gfc_post_options): Set -frecursion when -fopenmp is used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155649 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/options.c16
2 files changed, 16 insertions, 6 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 6a594255dfe..7de1ba76ba3 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2010-01-05 Tobias Burnus <burnus@net-b.de>
+ PR fortran/42517
+ * options.c (gfc_post_options): Set -frecursion
+ when -fopenmp is used.
+
+2010-01-05 Tobias Burnus <burnus@net-b.de>
+
PR fortran/41872
* trans-expr.c (gfc_conv_procedure_call): Nullify
return value for allocatable-scalar character functions.
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 43c44db0911..9296a0be667 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -353,18 +353,22 @@ gfc_post_options (const char **pfilename)
"implied by -fopenmp",
gfc_option.flag_max_stack_var_size);
- /* Implied -frecursive; implemented as -fmax-stack-var-size=-1. */
- if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.flag_openmp)
+ /* Implement -frecursive as -fmax-stack-var-size=-1. */
+ if (gfc_option.flag_recursive)
gfc_option.flag_max_stack_var_size = -1;
+ /* Implied -frecursive; implemented as -fmax-stack-var-size=-1. */
+ if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.flag_openmp
+ && gfc_option.flag_automatic)
+ {
+ gfc_option.flag_recursive = 1;
+ gfc_option.flag_max_stack_var_size = -1;
+ }
+
/* Set default. */
if (gfc_option.flag_max_stack_var_size == -2)
gfc_option.flag_max_stack_var_size = 32768;
- /* Implement -frecursive as -fmax-stack-var-size=-1. */
- if (gfc_option.flag_recursive)
- gfc_option.flag_max_stack_var_size = -1;
-
/* Implement -fno-automatic as -fmax-stack-var-size=0. */
if (!gfc_option.flag_automatic)
gfc_option.flag_max_stack_var_size = 0;
OpenPOWER on IntegriCloud