aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@codesourcery.com>2003-04-28 04:13:48 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-04-28 04:13:48 +0000
commitafc6aaab24721ee00e75ca5511fcc7d9e8c632af (patch)
tree3915ff408e9fa298c376c39db25e09c6a1cc70f2 /gcc/varasm.c
parent73c4dcc675bd806e87acce255f3678d007193d84 (diff)
downloadgcc-afc6aaab24721ee00e75ca5511fcc7d9e8c632af.zip
gcc-afc6aaab24721ee00e75ca5511fcc7d9e8c632af.tar.gz
gcc-afc6aaab24721ee00e75ca5511fcc7d9e8c632af.tar.bz2
expr.c (expand_expr <COMPLEX_CST, [...]): Always call output_constant_def, use its result instead of TREE_CST_RTL (exp).
* expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call output_constant_def, use its result instead of TREE_CST_RTL (exp). Can assume it has the form (mem (symbol_ref ".LCxxx")). (expand_expr <COMPONENT_REF>): Can always just extract the relevant field of a CONSTRUCTOR. (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF, ARRAY_RANGE_REF>): Make control flow explicit. * varasm.c (output_constant_def): Can look at TREE_CST_RTL of an INTEGER_CST. From-SVN: r66148
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 27c7843..f42f529 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2567,7 +2567,7 @@ output_constant_def (exp, defer)
/* We can't just use the saved RTL if this is a deferred string constant
and we are not to defer anymore. */
- if (TREE_CODE (exp) != INTEGER_CST && TREE_CST_RTL (exp)
+ if (TREE_CST_RTL (exp)
&& (defer || !STRING_POOL_ADDRESS_P (XEXP (TREE_CST_RTL (exp), 0))))
return TREE_CST_RTL (exp);