aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-03-01 12:26:20 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-03-01 12:26:20 +0000
commitc1d9cb022bb143ff62a667ce8a504d326eda42a6 (patch)
tree8927504f6ed5897b3fc5e015bb2abdb29559eb0e /gcc/tree-cfg.c
parentb2ef48efce78b78099a0f2162fab0b01fba7ba8d (diff)
downloadgcc-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.c9
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)