On Tue, May 22, 2012 at 12:26 PM, Paolo Carlini
<paolo.carl...@oracle.com> wrote:
> On 05/16/2012 11:43 AM, Richard Guenther wrote:
>>
>> On Wed, May 16, 2012 at 9:19 AM, Paolo Bonzini<bonz...@gnu.org>  wrote:
>>>
>>> OFFSET_TYPE is treated as an integral type for the purpose of conversion
>>> in fold-const.c.  However, the GIMPLE verifier disagrees, leading to
>>> verification errors when a cast from boolean to offset type is
>>> gimplified.
>>>
>>> Bootstrapped/regtested x86_64-pc-linux-gnu, ok for mainline?
>
> I see this patch is now installed and I'm afraid is causing regressions in
> the c++ testsuite: today I see many unexpected fails having to do with
> pointers to members.

Can't be this patch though, it only lets more things pass the verifier.
Unless

-       /* Allow conversion from integer to offset type and vice versa.  */
+       /* Allow conversion from integral to offset type and vice versa.  */
       if ((TREE_CODE (lhs_type) == OFFSET_TYPE
-            && TREE_CODE (rhs1_type) == INTEGER_TYPE)
+            && INTEGRAL_TYPE_P (rhs1_type))
           || (TREE_CODE (lhs_type) == INTEGER_TYPE
-               && TREE_CODE (rhs1_type) == OFFSET_TYPE))
+               && INTEGRAL_TYPE_P (rhs1_type)))

the latter looks like a typo - INTEGRAL_TYPE_P should be used for
lhs_type, not rhs1_type.

Richard.

> Thanks,
> Paolo.

Reply via email to