diff options
author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-02-21 00:41:08 +0000 |
---|---|---|
committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-02-21 00:41:08 +0000 |
commit | b2f1095e917c2d585109a55b4d48220bfe7a91ec (patch) | |
tree | 967ef304978d16f846fe31da052fffe33a56c79f /gcc/varasm.c | |
parent | 25bf54702d4fe9546a42707e0396376e48ae50bd (diff) | |
download | gcc-b2f1095e917c2d585109a55b4d48220bfe7a91ec.tar.gz |
* varasm.c (output_constant): Strip NOP_EXPRs for SET_TYPE too,
by using AGGREGATE_TYPE_P macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8974 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 989e08f85d8..74c8d57f40b 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -3428,13 +3428,10 @@ output_constant (exp, size) /* 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, union, or array types. */ + NOP_EXPR that converts between two record, union, array, or set 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)) + || AGGREGATE_TYPE_P (TREE_TYPE (exp)))) || TREE_CODE (exp) == NON_LVALUE_EXPR) exp = TREE_OPERAND (exp, 0); |