--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -1107,3 +1107,4 @@ gfc_create_string_length (gfc_symbol * sym)

-      if (sym->attr.save || sym->ns->proc_name->attr.flavor == FL_MODULE)
+      if (sym->attr.save || sym->ns->proc_name->attr.flavor == FL_MODULE
+         || gfc_option.flag_max_stack_var_size == 0)
         TREE_STATIC (length) = 1;
