[Bug libstdc++/47387] New: AIX ctype 'mask' override not working

greed at pobox dot com gcc-bugzilla@gcc.gnu.org
Thu Jan 20 22:24:00 GMT 2011


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: unassigned@gcc.gnu.org
        ReportedBy: greed@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.)



More information about the Gcc-bugs mailing list