aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1995-02-20 16:41:08 -0800
committerPer Bothner <bothner@gcc.gnu.org>1995-02-20 16:41:08 -0800
commit4e1bf5f536807466596c2195f7180351e7de89ca (patch)
tree967ef304978d16f846fe31da052fffe33a56c79f /gcc/varasm.c
parent4925e137f6e6c680841882c236b1014bcc8058d1 (diff)
downloadgcc-4e1bf5f536807466596c2195f7180351e7de89ca.zip
gcc-4e1bf5f536807466596c2195f7180351e7de89ca.tar.gz
gcc-4e1bf5f536807466596c2195f7180351e7de89ca.tar.bz2
varasm.c (output_constant): Strip NOP_EXPRs for SET_TYPE too, by using AGGREGATE_TYPE_P macro.
* varasm.c (output_constant): Strip NOP_EXPRs for SET_TYPE too, by using AGGREGATE_TYPE_P macro. From-SVN: r8974
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 989e08f..74c8d57 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);