bin/175930: [headers] clang does not define __STDC_ISO_10646__, despite having Unicode in wchar_t
Ed Schouten
ed at 80386.nl
Sat May 25 16:40:01 UTC 2013
The following reply was made to PR bin/175930; it has been noted by GNATS.
From: Ed Schouten <ed at 80386.nl>
To: bug-followup at FreeBSD.org, tim at stdrand.com
Cc:
Subject: Re: bin/175930: [headers] clang does not define __STDC_ISO_10646__,
despite having Unicode in wchar_t
Date: Sat, 25 May 2013 18:38:28 +0200
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 at 80386.nl>
More information about the freebsd-toolchain
mailing list