This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Types of operands in a gimple equality operation
On Fri, Nov 10, 2017 at 08:59:41AM -0500, Andrew MacLeod wrote:
> On 11/10/2017 08:49 AM, Andrew MacLeod wrote:
> >
> > The IL is comparing
> > ptr == 0B
> >
> > and I see:
> > Type op1 : 0x7fd8e312df18 -> integer(kind=4) (*<T561>) (void)
> > Type op2 : 0x7fd8e2fa10a8 -> void *
> >
> > These 2 types fail the types_compatible_p test.
> >
> > So is this a bug like I think it is?
> > Andrew
>
> Interesting, in a scratch build I do see it in other places, and its always
> with a (void *)0. especially in the __gcov stuff.
>
> Maybe we special case this, or pointers in general, for some reason?
Please see verify_gimple_comparison, void pointers are special case and
valid.
Jakub