Commit c1d9cb02 by Richard Guenther Committed by Richard Biener

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
parent b2ef48ef
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> 2012-03-01 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
......
...@@ -3340,15 +3340,12 @@ verify_gimple_assign_unary (gimple stmt) ...@@ -3340,15 +3340,12 @@ verify_gimple_assign_unary (gimple stmt)
{ {
CASE_CONVERT: 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. there is no sign or zero extension involved.
For targets were the precision of ptrofftype doesn't match that For targets were the precision of ptrofftype doesn't match that
of pointers we need to allow arbitrary conversions from and of pointers we need to allow arbitrary conversions to ptrofftype. */
to ptrofftype. */
if ((POINTER_TYPE_P (lhs_type) if ((POINTER_TYPE_P (lhs_type)
&& INTEGRAL_TYPE_P (rhs1_type) && INTEGRAL_TYPE_P (rhs1_type))
&& (TYPE_PRECISION (lhs_type) >= TYPE_PRECISION (rhs1_type)
|| ptrofftype_p (rhs1_type)))
|| (POINTER_TYPE_P (rhs1_type) || (POINTER_TYPE_P (rhs1_type)
&& INTEGRAL_TYPE_P (lhs_type) && INTEGRAL_TYPE_P (lhs_type)
&& (TYPE_PRECISION (rhs1_type) >= TYPE_PRECISION (lhs_type) && (TYPE_PRECISION (rhs1_type) >= TYPE_PRECISION (lhs_type)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment