[PATCH] libstdc++: implement locale support for AIX

CHIGOT, CLEMENT clement.chigot@atos.net
Thu Jul 22 12:09:06 GMT 2021


Hi Rainer,

>> A part from that it would be good if someone familiar with
>> freebsd or dragonfly can take a look at it. There shouldn't be
>> any problems but it needs to be tested and a few #ifdef remain
>> for these two targets.
>
> I'd tried DragonflyBSD quite some time ago, but couldn't even get it to
> boot in VirtualBox and didn't want to spend too much time on it.
>
> However, the last i586-unknown-freebsd11.4 test results for unmodified
> trunk are still terrible, showing 101 FAILs in libstdc++, a large number
> among those being locale tests.  I had seen (not unexpectedly) similarly
> abysmal results when I tried an earlier version of your patch on (I
> believe) FreeBSD 12 in VirtualBox some time ago, which made me question
> if that clocale implementation is a good basis for xpg7 if it doesn't
> even work on the target it's supposed to support.
>
> Could you please share the libstdc++-v3 mail-report.log snippet you get
> on AIX with your latest patch as a point of comparison?

Here are the result for AIX 32bit. Those are a bit different in 64bit but not much.
However, I don't have all the locale installed so some are skipped.

Native configuration is powerpc-ibm-aix7.2.3.0

                === libstdc++ tests ===


Running target unix
FAIL: 17_intro/headers/c++1998/charset.cc (test for excess errors)
FAIL: 17_intro/headers/c++2011/charset.cc (test for excess errors)
FAIL: 17_intro/headers/c++2014/charset.cc (test for excess errors)
FAIL: 17_intro/headers/c++2017/charset.cc (test for excess errors)
FAIL: 17_intro/headers/c++2020/charset.cc (test for excess errors)
UNRESOLVED: 22_locale/codecvt/in/wchar_t/4.cc compilation failed to produce executable
UNRESOLVED: 22_locale/codecvt/in/wchar_t/8.cc compilation failed to produce executable
UNRESOLVED: 22_locale/codecvt/in/wchar_t/9.cc compilation failed to produce executable
UNRESOLVED: 22_locale/codecvt/length/wchar_t/4.cc compilation failed to produce executable
FAIL: 22_locale/codecvt/max_length/wchar_t/4.cc execution test
UNRESOLVED: 22_locale/codecvt/out/wchar_t/4.cc compilation failed to produce executable
UNRESOLVED: 22_locale/codecvt/unshift/wchar_t/4.cc compilation failed to produce executable
FAIL: 22_locale/ctype/is/char/wrapped_env.cc execution test
FAIL: 22_locale/time_get/get_date/char/12750.cc execution test
FAIL: 22_locale/time_get/get_date/wchar_t/12750.cc execution test
FAIL: 22_locale/time_put/put/char/2.cc execution test
FAIL: 22_locale/time_put/put/wchar_t/2.cc execution test
FAIL: 23_containers/unordered_map/96088.cc execution test
FAIL: 23_containers/unordered_multimap/96088.cc execution test
FAIL: 23_containers/unordered_multiset/96088.cc execution test
FAIL: 23_containers/unordered_set/96088.cc execution test
FAIL: 27_io/filesystem/iterators/directory_iterator.cc execution test
FAIL: 27_io/filesystem/iterators/recursive_directory_iterator.cc execution test
FAIL: 27_io/filesystem/operations/canonical.cc execution test
FAIL: 27_io/filesystem/operations/exists.cc execution test
FAIL: 27_io/filesystem/operations/is_empty.cc execution test
FAIL: 27_io/filesystem/operations/remove.cc execution test
FAIL: 27_io/filesystem/operations/remove_all.cc execution test
FAIL: 27_io/filesystem/operations/status.cc execution test
FAIL: 27_io/filesystem/operations/symlink_status.cc execution test
FAIL: 27_io/filesystem/operations/temp_directory_path.cc execution test
FAIL: 27_io/filesystem/operations/weakly_canonical.cc execution test
FAIL: 27_io/manipulators/extended/get_time/char/2.cc execution test
FAIL: decimal/binary-arith.cc (test for excess errors)
UNRESOLVED: decimal/binary-arith.cc compilation failed to produce executable
FAIL: decimal/comparison.cc (test for excess errors)
UNRESOLVED: decimal/comparison.cc compilation failed to produce executable
FAIL: decimal/compound-assignment-memfunc.cc (test for excess errors)
UNRESOLVED: decimal/compound-assignment-memfunc.cc compilation failed to produce executable
FAIL: decimal/compound-assignment.cc (test for excess errors)
UNRESOLVED: decimal/compound-assignment.cc compilation failed to produce executable
FAIL: decimal/make-decimal.cc (test for excess errors)
UNRESOLVED: decimal/make-decimal.cc compilation failed to produce executable
FAIL: decimal/pr54036-1.cc (test for excess errors)
UNRESOLVED: decimal/pr54036-1.cc compilation failed to produce executable
FAIL: decimal/pr54036-2.cc (test for excess errors)
UNRESOLVED: decimal/pr54036-2.cc compilation failed to produce executable
FAIL: decimal/pr54036-3.cc (test for excess errors)
UNRESOLVED: decimal/pr54036-3.cc compilation failed to produce executable
FAIL: decimal/unary-arith.cc (test for excess errors)
UNRESOLVED: decimal/unary-arith.cc compilation failed to produce executable
FAIL: experimental/filesystem/iterators/directory_iterator.cc execution test
FAIL: experimental/filesystem/iterators/recursive_directory_iterator.cc execution test
FAIL: experimental/filesystem/operations/exists.cc execution test
FAIL: experimental/filesystem/operations/is_empty.cc execution test
FAIL: experimental/filesystem/operations/remove.cc execution test
FAIL: experimental/filesystem/operations/remove_all.cc execution test
FAIL: experimental/filesystem/operations/temp_directory_path.cc execution test
FAIL: ext/codecvt/wchar_t.cc execution test

                === libstdc++ Summary ===

# of expected passes            13692
# of unexpected failures        44
# of expected failures          114
# of unresolved testcases       15
# of unsupported tests          559


If you can, can you show me the result for FreeBSD, I might have already
encountered some of the failures while developing AIX version.

Thanks,
Clément





More information about the Libstdc++ mailing list