This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]