summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-07 07:20:39 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-07 07:20:39 +0000
commitc6b395ddd534bc6f5779ad4689b650cf60bd22e7 (patch)
treeeeff6ac2359b106d08f0028ad7aec90547a5e62c /gcc/fortran/expr.c
parent209fd0a02ebea7a7a0f553e5a86153a571900ef2 (diff)
downloadppe42-gcc-c6b395ddd534bc6f5779ad4689b650cf60bd22e7.tar.gz
ppe42-gcc-c6b395ddd534bc6f5779ad4689b650cf60bd22e7.zip
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
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 84dcf68fbf9..a1631510aa6 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -869,6 +869,8 @@ simplify_intrinsic_op (gfc_expr * p, int type)
return FAILURE;
}
+ result->rank = p->rank;
+ result->where = p->where;
gfc_replace_expr (p, result);
return SUCCESS;
OpenPOWER on IntegriCloud