From b303a23bdc3007a6c768455c6e1b68ac3aa46e70 Mon Sep 17 00:00:00 2001 From: sayle Date: Fri, 2 Feb 2007 21:16:23 +0000 Subject: [PATCH] * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate NON_LVALUE_EXPR nodes and useless type conversions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121522 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/trans.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3ee0a28..edae9d6 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2007-02-02 Roger Sayle + + * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate + NON_LVALUE_EXPR nodes and useless type conversions. + 2007-02-02 Paul Thomas PR fortran/30284 diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index 3040319..d942ebd 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -302,6 +302,9 @@ gfc_build_array_ref (tree base, tree offset) if (DECL_P (base)) TREE_ADDRESSABLE (base) = 1; + /* Strip NON_LVALUE_EXPR nodes. */ + STRIP_TYPE_NOPS (offset); + return build4 (ARRAY_REF, type, base, offset, NULL_TREE, NULL_TREE); } -- 2.7.4