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.)

Reply via email to