diff options
author | Richard Guenther <rguenther@suse.de> | 2010-09-01 13:28:46 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-09-01 13:28:46 +0000 |
commit | 23a534a102ad0310ca6ccb35717bb54e102ffb3e (patch) | |
tree | 49f5344b822f529a83c1f7785cefc66b2fc375d8 /gcc/tree-cfg.c | |
parent | d8b08ecdf6138d3b3bd0c6b47b58d794b4bd5521 (diff) | |
download | gcc-23a534a102ad0310ca6ccb35717bb54e102ffb3e.zip gcc-23a534a102ad0310ca6ccb35717bb54e102ffb3e.tar.gz gcc-23a534a102ad0310ca6ccb35717bb54e102ffb3e.tar.bz2 |
alias.c (ao_ref_from_mem): Adjust.
2010-09-01 Richard Guenther <rguenther@suse.de>
* alias.c (ao_ref_from_mem): Adjust.
* builtins.c (get_object_alignment): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* gimple.c (get_base_address): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
(get_addr_base_and_unit_offset): Likewise. Fix for
both TMR_SYMBOL and TMR_BASE being set.
* tree-eh.c (tree_could_trap_p): Likewise.
* gimplify.c (gimplify_expr): Do not attempt to gimplify
TMR_SYMBOL. Always gimplify TMR_BASE.
* tree-cfg.c (verify_types_in_gimple_reference): Verify
TMR_BASE if there is a TMR_SYMBOL.
* tree-pretty-print.c (dump_generic_node): Adjust.
* tree-ssa-address.c (addr_for_mem_ref): Likewise.
(tree_mem_ref_addr): Likewise.
(create_mem_ref_raw): Likewise.
(move_fixed_address_to_symbol): Likewise.
(create_mem_ref): Likewise.
(dump_mem_address): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
Fix for both TMR_SYMBOL and TMR_BASE being set.
(indirect_refs_may_alias_p): Likewise.
* tree-ssa-operands.c (get_tmr_operands): Adjust.
* tree.def (TARGET_MEM_REF): Adjust documentation.
From-SVN: r163733
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index dfe6d8f..1dc99aa 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -2990,6 +2990,13 @@ verify_types_in_gimple_reference (tree expr, bool require_lvalue) } else if (TREE_CODE (expr) == TARGET_MEM_REF) { + if (TMR_SYMBOL (expr) + && TMR_BASE (expr) + && !useless_type_conversion_p (sizetype, TREE_TYPE (TMR_BASE (expr)))) + { + error ("Non-sizetype base in TARGET_MEM_REF with symbol"); + return true; + } if (!TMR_OFFSET (expr) || TREE_CODE (TMR_OFFSET (expr)) != INTEGER_CST || !POINTER_TYPE_P (TREE_TYPE (TMR_OFFSET (expr)))) |