[committed] Don't print warning when moving to static with -fno-automatic
diff mbox series

Message ID 20191110212650.2710-1-blomqvist.janne@gmail.com
State New
Headers show
Series
  • [committed] Don't print warning when moving to static with -fno-automatic
Related show

Commit Message

Janne Blomqvist Nov. 10, 2019, 9:26 p.m. UTC
As part of PR 91413, GFortran now prints a warning when a variable is
moved from the stack to static storage. However, when the user
explicitly specifies that all local variables should be put in static
storage with the -fno-automatic option, don't print this warning.

Regtested on x86_64-pc-linux-gnu, committed r278027 as obvious.

gcc/fortran/ChangeLog:

2019-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/91413
	* trans-decl.c (gfc_finish_var_decl): Don't print warning when
	-fno-automatic is enabled.
---
 gcc/fortran/trans-decl.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

Patch
diff mbox series

diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index ffa61111316..76e1c7a8453 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -746,15 +746,16 @@  gfc_finish_var_decl (tree decl, gfc_symbol * sym)
 	  || sym->attr.allocatable)
       && !DECL_ARTIFICIAL (decl))
     {
-      gfc_warning (OPT_Wsurprising,
-		   "Array %qs at %L is larger than limit set by"
-		   " %<-fmax-stack-var-size=%>, moved from stack to static"
-		   " storage. This makes the procedure unsafe when called"
-		   " recursively, or concurrently from multiple threads."
-		   " Consider using %<-frecursive%>, or increase the"
-		   " %<-fmax-stack-var-size=%> limit, or change the code to"
-		   " use an ALLOCATABLE array.",
-		   sym->name, &sym->declared_at);
+      if (flag_max_stack_var_size > 0)
+	gfc_warning (OPT_Wsurprising,
+		     "Array %qs at %L is larger than limit set by"
+		     " %<-fmax-stack-var-size=%>, moved from stack to static"
+		     " storage. This makes the procedure unsafe when called"
+		     " recursively, or concurrently from multiple threads."
+		     " Consider using %<-frecursive%>, or increase the"
+		     " %<-fmax-stack-var-size=%> limit, or change the code to"
+		     " use an ALLOCATABLE array.",
+		     sym->name, &sym->declared_at);
 
       TREE_STATIC (decl) = 1;