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
This commit is contained in:
Richard Guenther 2012-03-01 12:26:20 +00:00 committed by Richard Biener
parent b2ef48efce
commit c1d9cb022b
2 changed files with 9 additions and 6 deletions

View File

@ -1,3 +1,9 @@
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.
2012-03-01 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in

View File

@ -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)