2005-12-21 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/25423
* parse.c (parse_where_block): break instead of "fall
through" after parsing nested WHERE construct.
testsuite/
2005-12-21 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/25423
gfortran.dg/where_nested_1.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108902
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-12-21 Erik Edelmann <eedelman@gcc.gnu.org>
+
+ PR fortran/25423
+ * parse.c (parse_where_block): break instead of "fall
+ through" after parsing nested WHERE construct.
+
2005-12-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25018
case ST_WHERE_BLOCK:
parse_where_block ();
- /* Fall through */
+ break;
case ST_ASSIGNMENT:
case ST_WHERE:
+2005-12-21 Erik Edelmann <eedelman@gcc.gnu.org>
+
+ PR fortran/25423
+ gfortran.dg/where_nested_1.f90: New.
+
2005-12-21 Kazu Hirata <kazu@codesourcery.com>
PR tree-optimization/25382.
--- /dev/null
+! { dg-do compile }
+! PR 25423: Nested WHERE constructs.
+program nested_where
+
+ implicit none
+ integer :: a(4)
+ logical :: mask1(4) = (/.TRUE., .TRUE., .FALSE., .FALSE./), &
+ mask2(4) = (/.TRUE., .FALSE., .TRUE., .FALSE./)
+
+ where (mask1)
+ where (mask2)
+ a = 1
+ elsewhere
+ a = 2
+ end where
+ elsewhere
+ where (mask2)
+ a = 3
+ elsewhere
+ a = 4
+ end where
+ end where
+
+ print *, a
+
+end program nested_where