diff options
author | Richard Henderson <rth@redhat.com> | 2004-11-29 19:52:37 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-11-29 19:52:37 -0800 |
commit | afe849213eed9764b4579ba081c111a0b3ddde25 (patch) | |
tree | 4b6086cd760db3d4e0eef4da7e0f58d8a24f0d0a /gcc/fold-const.c | |
parent | f2978871b26c69d516916d280e81cc1f9b460416 (diff) | |
download | gcc-afe849213eed9764b4579ba081c111a0b3ddde25.zip gcc-afe849213eed9764b4579ba081c111a0b3ddde25.tar.gz gcc-afe849213eed9764b4579ba081c111a0b3ddde25.tar.bz2 |
expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
* expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
(handled_component_p): Likewise.
* alias.c (can_address_p): Reformat and simplify. Handle
REAL/IMAGPART_EXPR. Do not disable addressability based on
alias set zero.
* fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
check for REAL/IMAGPART_EXPR.
* gimplify.c (gimplify_compound_lval): Likewise.
* tree-cfg.c (verify_expr): Likewise.
* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
* tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
(convert_local_reference): Likewise.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
From-SVN: r91511
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index ab81bf4..98b827ea 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -10799,9 +10799,7 @@ build_fold_addr_expr_with_type (tree t, tree ptrtype) { tree base = t; - while (handled_component_p (base) - || TREE_CODE (base) == REALPART_EXPR - || TREE_CODE (base) == IMAGPART_EXPR) + while (handled_component_p (base)) base = TREE_OPERAND (base, 0); if (DECL_P (base)) TREE_ADDRESSABLE (base) = 1; |