mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/55733 (-fno-automatic: Fails for scalar allocatables)
2012-12-19 Tobias Burnus <burnus@net-b.de>
PR fortran/55733
* trans-decl.c (gfc_create_string_length): Avoid setting
TREE_STATIC for automatic variables with -fno-automatic.
From-SVN: r194621
This commit is contained in:
parent
502bfcbc80
commit
26c08c0323
|
|
@ -1,3 +1,9 @@
|
|||
2012-12-19 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/55733
|
||||
* trans-decl.c (gfc_create_string_length): Avoid setting
|
||||
TREE_STATIC for automatic variables with -fno-automatic.
|
||||
|
||||
2012-12-19 Tobias Burnus <burnus@net-b.de>
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
Janus Weil <janus@gcc.gnu.org>
|
||||
|
|
|
|||
|
|
@ -1089,9 +1089,15 @@ gfc_create_string_length (gfc_symbol * sym)
|
|||
tree length;
|
||||
const char *name;
|
||||
|
||||
/* The string length variable shall be in static memory if it is either
|
||||
explicitly SAVED, a module variable or with -fno-automatic. Only
|
||||
relevant is "len=:" - otherwise, it is either a constant length or
|
||||
it is an automatic variable. */
|
||||
bool static_length = sym->attr.save
|
||||
|| sym->ns->proc_name->attr.flavor == FL_MODULE
|
||||
|| gfc_option.flag_max_stack_var_size == 0;
|
||||
|| (gfc_option.flag_max_stack_var_size == 0
|
||||
&& sym->ts.deferred && !sym->attr.dummy
|
||||
&& !sym->attr.result && !sym->attr.function);
|
||||
|
||||
/* Also prefix the mangled name. We need to call GFC_PREFIX for static
|
||||
variables as some systems do not support the "." in the assembler name.
|
||||
|
|
|
|||
Loading…
Reference in New Issue