Summary: | [headers] clang does not define __STDC_ISO_10646__, despite having Unicode in wchar_t | ||
---|---|---|---|
Product: | Base System | Reporter: | Tim Čas <tim> |
Component: | bin | Assignee: | freebsd-toolchain (Nobody) <toolchain> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | ||
Priority: | Normal | ||
Version: | 9.1-RELEASE | ||
Hardware: | Any | ||
OS: | Any |
Description
Tim Čas
2013-02-07 17:50:00 UTC
Responsible Changed From-To: freebsd-bugs->freebsd-toolchain let's see if anyone on toolchain@ has an opinion. Hi Tim, On FreeBSD, we should explicitly not define __STDC_ISO_10646__, as this condition does not hold. On FreeBSD, wchar_t contains the code point of the character as represented in the original character set. For example, if your LC_CTYPE is en_US.ISO8859-15 and you convert a Euro symbol to a wchar_t, it is stored internally as 0xa4 -- not 0x20ac. There is no character conversion. Related to this, I am working on a change right now to let Clang at least define __STDC_MB_MIGHT_NEQ_WC__, __STDC_UTF_16__ and __STDC_UTF_32__. -- Ed Schouten <ed@80386.nl> State Changed From-To: open->closed Closing, as we should not define __STDC_ISO_10646__. |