aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-07-26 12:30:45 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2010-07-26 12:30:45 +0200
commit71ff73f3fbaac481a9c3c9f49c885e9a5bdee84b (patch)
tree1ed9d52990ece8fc0f17b1e1a024c78fbb1716ee /gcc/fortran
parentaa622bf19fab077261cd2f714c75b39a4b66ac86 (diff)
downloadgcc-71ff73f3fbaac481a9c3c9f49c885e9a5bdee84b.zip
gcc-71ff73f3fbaac481a9c3c9f49c885e9a5bdee84b.tar.gz
gcc-71ff73f3fbaac481a9c3c9f49c885e9a5bdee84b.tar.bz2
re PR fortran/45066 (ICE in namelist read in snapshot of 7/24/2010)
2010-07-26 Tobias Burnus <burnus@net-b.de> PR fortran/45066 * trans-io.c (build_dt): Use NULL_TREE rather than NULL for call to transfer_namelist_element. * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl for -fwhole-file. 2010-07-26 Tobias Burnus <burnus@net-b.de> PR fortran/45066 * gfortran.dg/namelist_62.f90: New. From-SVN: r162532
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog8
-rw-r--r--gcc/fortran/trans-decl.c3
-rw-r--r--gcc/fortran/trans-io.c2
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index f29ccca..999d38e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,11 @@
+2010-07-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45066
+ * trans-io.c (build_dt): Use NULL_TREE rather than NULL
+ for call to transfer_namelist_element.
+ * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
+ for -fwhole-file.
+
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index a1789ea..4a3fcd8 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -1150,7 +1150,8 @@ gfc_get_symbol_decl (gfc_symbol * sym)
true);
if (sym->ts.type == BT_CHARACTER)
sym->ts.u.cl->backend_decl = s->ts.u.cl->backend_decl;
- return s->backend_decl;
+ sym->backend_decl = s->backend_decl;
+ return sym->backend_decl;
}
}
}
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index a806d42..00c44e7 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -1760,7 +1760,7 @@ build_dt (tree function, gfc_code * code)
for (nml = dt->namelist->namelist; nml; nml = nml->next)
transfer_namelist_element (&block, nml->sym->name, nml->sym,
- NULL, NULL);
+ NULL, NULL_TREE);
}
else
set_parameter_const (&block, var, IOPARM_common_flags, mask);