2006-06-07 Paul Thomas <pault@gcc.gnu.org>
commitc6b395ddd534bc6f5779ad4689b650cf60bd22e7
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jun 2006 07:20:39 +0000 (7 07:20 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jun 2006 07:20:39 +0000 (7 07:20 +0000)
treeeeff6ac2359b106d08f0028ad7aec90547a5e62c
parent209fd0a02ebea7a7a0f553e5a86153a571900ef2
2006-06-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/23091
* resolve.c (resolve_fl_variable): Error if an automatic
object has the SAVE attribute.

PR fortran/24168
* expr.c (simplify_intrinsic_op): Transfer the rank and
the locus to the simplified expression.

PR fortran/25090
PR fortran/25058
* gfortran.h : Add int entry_id to gfc_symbol.
* resolve.c : Add static variables current_entry_id and
specification_expr.
(resolve_variable): During code resolution, check if a
reference to a dummy variable in an executable expression
is preceded by its appearance as a parameter in an entry.
Likewise check its specification expressions.
(resolve_code): Update current_entry_id on EXEC_ENTRY.
(resolve_charlen, resolve_fl_variable): Set and reset
specifiaction_expr.
(is_non_constant_shape_array): Do not return on detection
of a variable but continue to resolve all the expressions.
(resolve_codes): set current_entry_id to an out of range
value.

2006-06-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/23091
* gfortran.dg/saved_automatic_1.f90: New test.

PR fortran/24168
* gfortran.dg/array_simplify_1.f90: New test.

PR fortran/25090
* gfortran.dg/entry_dummy_ref_1.f90: New test.

PR fortran/25058
* gfortran.dg/entry_dummy_ref_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114461 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/array_simplify_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/entry_dummy_ref_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/entry_dummy_ref_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/saved_automatic_1.f90 [new file with mode: 0644]