diff options
author | Roger Sayle <roger@eyesopen.com> | 2007-02-02 21:16:23 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2007-02-02 21:16:23 +0000 |
commit | 31120e8f8b62f5696b8deecca829e20764498b30 (patch) | |
tree | e668d64309d90b73277a4e52ead3158896e53fe3 /gcc | |
parent | 093253be0670270440ce8f0b8a22bdd3856913b7 (diff) | |
download | gcc-31120e8f8b62f5696b8deecca829e20764498b30.zip gcc-31120e8f8b62f5696b8deecca829e20764498b30.tar.gz gcc-31120e8f8b62f5696b8deecca829e20764498b30.tar.bz2 |
trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate NON_LVALUE_EXPR nodes and useless type conversions.
* trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
NON_LVALUE_EXPR nodes and useless type conversions.
From-SVN: r121522
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/trans.c | 3 |
2 files changed, 8 insertions, 0 deletions
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 <roger@eyesopen.com> + + * 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 <pault@gcc.gnu.org> 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); } |