diff options
author | Richard Guenther <rguenther@suse.de> | 2012-03-01 12:26:20 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-03-01 12:26:20 +0000 |
commit | c1d9cb022bb143ff62a667ce8a504d326eda42a6 (patch) | |
tree | 8927504f6ed5897b3fc5e015bb2abdb29559eb0e /gcc/tree-cfg.c | |
parent | b2ef48efce78b78099a0f2162fab0b01fba7ba8d (diff) | |
download | gcc-c1d9cb022bb143ff62a667ce8a504d326eda42a6.zip gcc-c1d9cb022bb143ff62a667ce8a504d326eda42a6.tar.gz gcc-c1d9cb022bb143ff62a667ce8a504d326eda42a6.tar.bz2 |
re PR other/52443 (ICE: verify_gimple failed: invalid types in nop conversion)
2012-03-01 Richard Guenther <rguenther@suse.de>
PR middle-end/52443
* tree-cfg.c (verify_gimple_assign_unary): Allow any
conversions from integral types to pointer types.
From-SVN: r184739
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 66ea928..9f75650 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3340,15 +3340,12 @@ verify_gimple_assign_unary (gimple stmt) { CASE_CONVERT: { - /* Allow conversions between integral types and pointers only if + /* Allow conversions from pointer type to integral type only if there is no sign or zero extension involved. For targets were the precision of ptrofftype doesn't match that - of pointers we need to allow arbitrary conversions from and - to ptrofftype. */ + of pointers we need to allow arbitrary conversions to ptrofftype. */ if ((POINTER_TYPE_P (lhs_type) - && INTEGRAL_TYPE_P (rhs1_type) - && (TYPE_PRECISION (lhs_type) >= TYPE_PRECISION (rhs1_type) - || ptrofftype_p (rhs1_type))) + && INTEGRAL_TYPE_P (rhs1_type)) || (POINTER_TYPE_P (rhs1_type) && INTEGRAL_TYPE_P (lhs_type) && (TYPE_PRECISION (rhs1_type) >= TYPE_PRECISION (lhs_type) |