re PR fortran/29393 (Vector subscript rejected)
authorErik Edelmann <eedelman@gcc.gnu.org>
Tue, 24 Oct 2006 17:01:30 +0000 (17:01 +0000)
committerErik Edelmann <eedelman@gcc.gnu.org>
Tue, 24 Oct 2006 17:01:30 +0000 (17:01 +0000)
fortran/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * expr.c (simplify_parameter_variable): Keep rank of original
         expression.

Testsuite/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * gfortran.dg/initialize_2.f90: New.

From-SVN: r118008

gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/initialization_2.f90 [new file with mode: 0644]

index 630ffe048721f6b603bd6c24c68c640495c20c2e..0d29f46d3c71c02b018d191740acbe73b7fc59ac 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>
+
+       PR fortran/29393
+       * expr.c (simplify_parameter_variable): Keep rank of original
+       expression.
+
 2006-10-23 Rafael Avila de Espindola  <rafael.espindola@gmail.com>
 
        * Make-lang.in (f951$(exeext)): Depend on and link with attribs.o.
index 2bf980cfa2590c474bbde355fd7daf7e14432c7d..1f51fd09fca52604182172813d8640d89dff3de4 100644 (file)
@@ -1363,6 +1363,8 @@ simplify_parameter_variable (gfc_expr * p, int type)
   if (e == NULL)
     return FAILURE;
 
+  e->rank = p->rank;
+
   /* Do not copy subobject refs for constant.  */
   if (e->expr_type != EXPR_CONSTANT && p->ref != NULL)
     e->ref = copy_ref (p->ref);
index 5ed77bf1391675c0ee72961c95baa68ae75f5118..87c2154f9e1b464b84dd564521814bb3ff43cdfd 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>
+
+       PR fortran/29393
+       * gfortran.dg/initialize_2.f90: New.
+
 2006-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * gcc.dg/torture/builtin-math-2.c: New test.
diff --git a/gcc/testsuite/gfortran.dg/initialization_2.f90 b/gcc/testsuite/gfortran.dg/initialization_2.f90
new file mode 100644 (file)
index 0000000..d5de859
--- /dev/null
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! PR 29393: Ranks of PARAMETER-lhs in initializations
+    integer, parameter ::   A(-3:7,2)=0 
+    integer, parameter, dimension(3) :: V = (/ 2, 4, 6 /)
+    integer, parameter, dimension(3) :: B = A(V,1) 
+    integer, parameter, dimension(3) :: C = A(0:2,1) 
+end