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?

Makefile:915: recipe for target '_gcov_flush.o' failed
make[5]: *** [_gcov_flush.o] Error 1
make[5]: *** Waiting for unfinished jobs....

./gthr-default.h: In function ā€˜__gthread_active_p’:
./gthr-default.h:251:31: internal compiler error: in gimple_build_assign_1, at gimple.c:459
   return __gthread_active_ptr != 0;
          ~~~~~~~~~~~~~~~~~~~~~^~~~

 Incompatible types (in)equality check!
__gthrw___pthread_key_create != 0B
Type op1 : 0x7fa299dca5e8 -> int (*<T8e7>) (pthread_key_t *, void (*<Te2>) (void *))
Type op2 : 0x7fa299dca738 -> void * const

Andrew

Reply via email to