diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-10-21 20:00:30 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-10-21 18:00:30 +0000 |
commit | b6d3c0311a633503f63884eb8eec3679256ace2c (patch) | |
tree | 2bfe7b1e099bea665cddc4e5183b26a96c308ecc /gcc/tree.c | |
parent | e9122ef60858058cb474b3d3bb51507b7fd1d14c (diff) | |
download | gcc-b6d3c0311a633503f63884eb8eec3679256ace2c.zip gcc-b6d3c0311a633503f63884eb8eec3679256ace2c.tar.gz gcc-b6d3c0311a633503f63884eb8eec3679256ace2c.tar.bz2 |
re PR middle-end/67966 (ICE in convert_move, at expr.c:282)
PR middle-end/67966
* tree.c (verify_type): Verify that TYPE_MODE match
between TYPE_CANONICAL and type.
* expr.c (store_expr_with_bounds): Revert my previous change.
* expmed.c (store_bit_field_1): Revert prevoius change.
* gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE
to match for all types.
From-SVN: r229132
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -13408,6 +13408,14 @@ verify_type (const_tree t) error_found = true; } + if (COMPLETE_TYPE_P (t) && TYPE_CANONICAL (t) + && TYPE_MODE (t) != TYPE_MODE (TYPE_CANONICAL (t))) + { + error ("TYPE_MODE of TYPE_CANONICAL is not compatible"); + debug_tree (ct); + error_found = true; + } + /* Check various uses of TYPE_MINVAL. */ if (RECORD_OR_UNION_TYPE_P (t)) |