aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDaniel Franke <franke.daniel@gmail.com>2010-05-16 16:01:06 -0400
committerDaniel Franke <dfranke@gcc.gnu.org>2010-05-16 16:01:06 -0400
commitcdc6637d7c78ec66bff42ef5a38c1f5a4cd2074d (patch)
tree0143a76255b64000cf3f167da27063cfe0348742 /gcc
parent6b87d1b4ca69bb14789d100a3c173cc8826c1ff3 (diff)
downloadgcc-cdc6637d7c78ec66bff42ef5a38c1f5a4cd2074d.zip
gcc-cdc6637d7c78ec66bff42ef5a38c1f5a4cd2074d.tar.gz
gcc-cdc6637d7c78ec66bff42ef5a38c1f5a4cd2074d.tar.bz2
re PR fortran/35779 (error pointer wrong in PARAMETER)
gcc/fortran/: 2010-05-16 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * array.c (match_array_list): Revert functional change of 2010-05-13. gcc/fortran/: 2010-05-16 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * gfortran.dg/initialization_25.f90: Commented testcase. * gfortran.dg/initialization_26.f90: New. From-SVN: r159465
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/array.c2
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/initialization_25.f907
-rw-r--r--gcc/testsuite/gfortran.dg/initialization_26.f909
5 files changed, 25 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index af8ce0a..8c5d7b1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2010-05-16 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/35779
+ * array.c (match_array_list): Revert change from 2010-05-13.
+
2010-05-16 Richard Guenther <rguenther@suse.de>
* trans-decl.c (module_htab_decls_hash): Revert last change.
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index 25c6e14..3ffc397 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -879,7 +879,7 @@ match_array_list (gfc_constructor_base *result)
for (n = 1;; n++)
{
- m = gfc_match_iterator (&iter, gfc_init_expr_flag);
+ m = gfc_match_iterator (&iter, 0);
if (m == MATCH_YES)
break;
if (m == MATCH_ERROR)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4ec703c..2abe396 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-16 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/35779
+ * gfortran.dg/initialization_25.f90: Commented testcase.
+ * gfortran.dg/initialization_26.f90: New.
+
2010-05-16 Richard Guenther <rguenther@suse.de>
* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
diff --git a/gcc/testsuite/gfortran.dg/initialization_25.f90 b/gcc/testsuite/gfortran.dg/initialization_25.f90
index d6fab97..fc667f4 100644
--- a/gcc/testsuite/gfortran.dg/initialization_25.f90
+++ b/gcc/testsuite/gfortran.dg/initialization_25.f90
@@ -4,8 +4,9 @@
! Tescase contributed by
! Dick Hendrickson <dick DOT hendrickson AT gmail DOT com>
!
+! Initial patch was reverted as it broke nested loops (see initialization_26.f90).
+!
- INTEGER :: J1
- INTEGER,PARAMETER :: I3(10) = (/(J1,J1=10,1,-1)/)
- INTEGER,PARAMETER :: I2(10) = (/(J1,J1=its_bad,1,-1)/) ! { dg-error "does not reduce" }
+! INTEGER :: J1
+! INTEGER,PARAMETER :: I2(10) = (/(J1,J1=its_bad,1,-1)/) ! { dg - error "does not reduce" }
END
diff --git a/gcc/testsuite/gfortran.dg/initialization_26.f90 b/gcc/testsuite/gfortran.dg/initialization_26.f90
new file mode 100644
index 0000000..d5bc93b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/initialization_26.f90
@@ -0,0 +1,9 @@
+! { dg-do "compile" }
+!
+! Verify that the outer do-loop counter 'j' is accepted as
+! as end-expression of the inner loop.
+!
+
+ integer i, j
+ integer, parameter :: n = size( [( [(i*j,i=1,j)], j=1,2)] )
+end