aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2004-12-23 14:05:50 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2004-12-23 13:05:50 +0000
commit579eab589756ecf43ea7b1466d2946506b66c948 (patch)
tree9c790fec64531932388b34f958c5793477000d23 /gcc
parent2614034eead349c8ae65e7f106bdce4212e9b71a (diff)
downloadgcc-579eab589756ecf43ea7b1466d2946506b66c948.zip
gcc-579eab589756ecf43ea7b1466d2946506b66c948.tar.gz
gcc-579eab589756ecf43ea7b1466d2946506b66c948.tar.bz2
re PR middle-end/17746 (ICE when building the Ada RTS)
PR middle-end/17746 * expr.c (get_inner_reference): Add 'keep_aligning' parameter. Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT platforms only if keep_aligning is true. (expand_assignment): Adjust call to get_inner_reference. (expand_expr_addr_expr_1): Likewise. (expand_expr_real_1): Likewise. * dojump.c (do_jump): Likewise. * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. * fold-const.c (optimize_bit_field_compare): Likewise. (decode_field_reference): Likewise. (split_address_to_core_and_offset): Likewise. * tree-ssa-loop-ivopts.c (split_address_cost): Likewise. * tree.h (get_inner_reference): Adjust prototype. ada/ * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. * utils2.c (build_unary_op): Likewise. From-SVN: r92550
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/tree.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 78879a7..e593949 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -13,7 +13,7 @@
(decode_field_reference): Likewise.
(split_address_to_core_and_offset): Likewise.
* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
- * expr.h (get_inner_reference): Adjust prototype.
+ * tree.h (get_inner_reference): Adjust prototype.
2004-12-23 Richard Henderson <rth@redhat.com>
diff --git a/gcc/tree.h b/gcc/tree.h
index 644dff9..1411d71 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3366,7 +3366,8 @@ extern tree get_narrower (tree, int *);
and find the ultimate containing object, which is returned. */
extern tree get_inner_reference (tree, HOST_WIDE_INT *, HOST_WIDE_INT *,
- tree *, enum machine_mode *, int *, int *);
+ tree *, enum machine_mode *, int *, int *,
+ bool);
/* Return 1 if T is an expression that get_inner_reference handles. */