diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-02-01 23:54:05 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-02-01 23:54:05 +0100 |
commit | 30253e235699f233b54f0ee147235bdec5759ac8 (patch) | |
tree | 2a7a21f6d8995acdeb5367648833f3ee0aeaf51b /gcc/fortran | |
parent | d9f0237f70ca25485576e3f8f32d7daee6ab1d50 (diff) | |
download | gcc-30253e235699f233b54f0ee147235bdec5759ac8.zip gcc-30253e235699f233b54f0ee147235bdec5759ac8.tar.gz gcc-30253e235699f233b54f0ee147235bdec5759ac8.tar.bz2 |
re PR fortran/83246 (internal compiler error or loader problem might be related to a PARAMETER statement being in a BLOCK)
PR fortran/83246
PR fortran/89084
* trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
if sym->ns->construct_entities rather than if
sym->ns->parent->code->op == EXEC_BLOCK.
* gfortran.dg/pr89084.f90: New test.
* gfortran.dg/lto/pr89084_0.f90: New test.
* gfortran.dg/pr83246.f90: New test.
From-SVN: r268462
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7f2a7af..0a5da36 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2019-02-01 Jakub Jelinek <jakub@redhat.com> + + PR fortran/83246 + PR fortran/89084 + * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs + if sym->ns->construct_entities rather than if + sym->ns->parent->code->op == EXEC_BLOCK. + 2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88669 diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 1fe1165..b8f50f7 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -5735,10 +5735,7 @@ generate_local_decl (gfc_symbol * sym) "imported at %L", sym->name, &sym->declared_at); } - if (sym->ns - && sym->ns->parent - && sym->ns->parent->code - && sym->ns->parent->code->op == EXEC_BLOCK) + if (sym->ns && sym->ns->construct_entities) { if (sym->attr.referenced) gfc_get_symbol_decl (sym); |