This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [libstdc++-v3 patch] Fix invalid use of signed wchar_t and unsigned wchar_t in <type_traits>


On 6/29/07, Paolo Carlini <pcarlini@suse.de> wrote:
> IIRC, wchar_t cannot be marked signed or unsigned, but this is what
> the C++0x type_traits header in libstdc++ is doing. The errors I'm
> getting are:
[snip errors]
> The fix is to remove those specializations. Patch follows. Tested on
> cxx0x-branch (where it actually gets tested). Okay for mainline?

Before going ahead, I would ask you to clarify the issue a bit more,
which, put this way seems to me a little mysterious. For example, is the
mainline compiler rejecting 'signed wchar_t' and 'unsigned wchar_t'? If
not, why not? What is going on in the branch that exposes the failure?
Is that something C++0x-specific?

It's not C++0x-specific. The mainline compiler will complain about unsigned/signed wchar_t, but only with -pedantic. Otherwise, it silently ignores the "signed" or "unsigned" part. Apparently, this header never gets compiled with -pedantic on mainline.

The cxx0x-branch is  different because everything runs in C++0x mode
so <type_traits> ends up getting included with -pedantic in some tests
and we see the error.

- Doug


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]