From bccaa41afea5c007b8d0935c25f6ef445c960ab4 Mon Sep 17 00:00:00 2001 From: kenner Date: Tue, 22 Nov 1994 03:21:24 +0000 Subject: [PATCH] (output_constant): When eliminating conversions, treat ARRAY_TYPE like a record. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8546 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/varasm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/varasm.c b/gcc/varasm.c index 28165a545ad..d0733d34f5e 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -3390,10 +3390,11 @@ output_constant (exp, size) return; /* Eliminate the NON_LVALUE_EXPR_EXPR that makes a cast not be an lvalue. - That way we get the constant (we hope) inside it. Also, strip - off any NOP_EXPR that converts between two record or union types. */ + That way we get the constant (we hope) inside it. Also, strip off any + NOP_EXPR that converts between two record, union, or array types. */ while ((TREE_CODE (exp) == NOP_EXPR && (TREE_TYPE (exp) == TREE_TYPE (TREE_OPERAND (exp, 0)) + || TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE || TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE || TREE_CODE (TREE_TYPE (exp)) == UNION_TYPE || TREE_CODE (TREE_TYPE (exp)) == QUAL_UNION_TYPE)) -- 2.11.4.GIT