PATCH: Fun with magic numbers and the various system headers
Benjamin Kosnik
bkoz@redhat.com
Tue Jan 25 00:05:00 GMT 2005
> This patch would kill another 2 FAILs on FreeBSD 5 [AFAIR, FreeBSD 4
> never defined _GLIBCXX_USE_WCHAR_T]. mask (AKA wctype_t) is a 32-bit
> entity on FreeBSD and that is an allowable choice by POSIX. Thus, it
> appears that the original code has a minor portability bug. Is
> changing this class, ctype<wchar_t>, an effective ABI change (Geoffrey
> thought so)? It is exposed in an installed header but I haven't yet
> traced how it is actually used in the library and/or user code. If
> the use is completely inside the library, then I'd suppose it is not
> really an ABI change. However, are we that lucky?
No.
You can't do this for 3.4/4.0. I suggest making this patch, and
installing it on so_7-branch so we don't loose sight of this issue.
This is why I hate arrays of stuff as data members.
> OK, other than the 3 FAILs related to the unimplemented math function
> issue (which appears to have a decent solution after all; thanks
> Guys!) and pending this wchar_t fix, all I now see are another two
> non-threaded wchar_t tests which only fail when tested against
> -pthread (and I'm sure that will be a fun nightmare to debug).
I think we have a solution for the 3 FAILS that is acceptable to everybody.
-benjamin
More information about the Libstdc++
mailing list