http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47387
Summary: AIX ctype 'mask' override not working Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: gr...@pobox.com Created attachment 23053 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23053 Use _M_table if not NULL On AIX, the test '22_locale/ctype/is/char/3.cc' fails: Assertion failed: __EX, file /local/buildarea/grahamr/aix-ppc-5.3/gcc-4.5.2-lit e-c++/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc, line 39 This is because "libstdc++-v3/config/os/aix/ctype_inline.h" always uses the system type mask, regardless of the value of _M_table. The attached patch solve this problem for both trunk and 4.5.2. (Due to a change in whitespace at end of line, applying on 4.5.2 needs the '-l' flag on patch.) I based it on the logic used for Darwin. (Problem appears to be present in 4.3.3 as well, but the testcase itself is different and won't fail.)