Hello,

I'm trying to build bison-3.0.2 on IBM AIX 6.1 with xlc/xlC 11.1.0.8 (I've also
tried later versions) but I'm running into problems on "make check".

If I understand the code generated from variant.hh correctly it assumes that for

someClass a;

typeid(a).name() == typeid(a).name()

Because it stores the result of calling name() in the yytname_ member.
Unfortunately this assumption is incorrect and only

typeid(a) == typeid(a)

is strictly conformant. Which I wouldn't care about, but IBM xlC does generate
different results for calling name() and therefore the calc++ test fails on me.

Given the above I guess the cleanest solution would be to store the result of
typeid as yytname_ and use typeid((void *)0) or similar instead of YY_NULLPTR.
Asserting strcmp(yytname_, other.yytname_) == 0 instead of comparing the
pointers would probably also work.

Regards, Thomas
-- 
Thomas Jahns
DKRZ GmbH, Department: Application software

Deutsches Klimarechenzentrum
Bundesstraße 45a
D-20146 Hamburg

Phone: +49-40-460094-151
Fax: +49-40-460094-270
Email: Thomas Jahns <ja...@dkrz.de>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to