aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2012-12-09 09:15:36 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2012-12-09 09:15:36 +0000
commitda52ef437636927aa2bb33d50417a1e1c6a8dee2 (patch)
tree590f48a25ac157170a8183ddf10ba931cee92030 /gcc/fortran
parent5f515aaecb0097a0afbef336815934cfa0d698d8 (diff)
downloadgcc-da52ef437636927aa2bb33d50417a1e1c6a8dee2.zip
gcc-da52ef437636927aa2bb33d50417a1e1c6a8dee2.tar.gz
gcc-da52ef437636927aa2bb33d50417a1e1c6a8dee2.tar.bz2
re PR fortran/55593 (Bogus error on passing DO LOOP variable)
2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/55593 * frontend-passes.c (doloop_code): Use resolved_sym instead of n.sym->formal for formal argument list to get the correct version for all generic subroutines. 2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/55593 * gfortran.dg/do_check_8.f90: New test. From-SVN: r194329
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/frontend-passes.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 344c4e4..12d53ee 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55593
+ * gfortran.dg/do_check_8.f90: New test.
+
2012-12-05 Tobias Burnus <burnus@net-b.de>
* resolve.c (generate_component_assignments): Fix memleak.
diff --git a/gcc/fortran/frontend-passes.c b/gcc/fortran/frontend-passes.c
index 6679368..691862f 100644
--- a/gcc/fortran/frontend-passes.c
+++ b/gcc/fortran/frontend-passes.c
@@ -1277,7 +1277,11 @@ doloop_code (gfc_code **c, int *walk_subtrees ATTRIBUTE_UNUSED,
break;
case EXEC_CALL:
- f = co->symtree->n.sym->formal;
+
+ if (co->resolved_sym == NULL)
+ break;
+
+ f = co->resolved_sym->formal;
/* Withot a formal arglist, there is only unknown INTENT,
which we don't check for. */