Hi Rainer, > This alone makes the patch inacceptable in its present form: breaking > the libstdc++ ABI is a non-starter. However, I suspect this can be > avoided somehow. Thanks for having tried and I agree the patch isn't ready at all. I've just wanted to see how behave on other systems and it seems that it might not work as is. However, is the C++ ABI not standard ? I don't have this test failing on AIX, AFAIK. Strange.
> +FAIL: 22_locale/classification/isblank.cc execution test > > /vol/gcc/src/hg/master/solaris/libstdc++-v3/testsuite/22_locale/classification/isblank.cc:38: > void test02(): Assertion 'std::isblank(L' ', std::locale::classic())' failed. > > It turns out that this is caused by ieee_1003.1-2008/ctype_members.cc > using __bitmapsize = 11 in a couple of places, unlike the generic > version which uses 15 to accomodate variations in <ctype.h> character > classifications. 11 is the correct value on AIX and maybe also in Dragnofly/FreeBSD, based on the value of Dragonfly model. However, big endian vs little endian needs to be handled. I haven't fix that part on the current patch I guess. (when bitmapsize = 15, there is no difference, endianness doesn't matter). However, it might be simpler to set bitmapsize = 15 for everyone, instead of having some defines for that. Maybe. > However, there are many more which I haven't even started to > investigate. I suspect there's one (or a few) reasons immediately > obvious to someone familiar with the code. Thanks for the list. I'll check if there is some common with AIX. But wait until I push the new patch to start studying them. It'll have the correct #ifdef based on configure and I'll try it on Linux. Thus, it should be far better. Thanks, Clément