bin/175930: clang does not define __STDC_ISO_10646__, despite having Unicode in wchar_t

Dimitry Andric dim at FreeBSD.org
Sat Feb 9 17:53:02 UTC 2013


On 2013-02-09 17:03, linimon at FreeBSD.org wrote:> Old Synopsis: CLang does not define __STDC_ISO_10646__, despite having Unicode in wchar_t
> New Synopsis: clang does not define __STDC_ISO_10646__, despite having Unicode in wchar_t
>
> Responsible-Changed-From-To: freebsd-bugs->freebsd-toolchain
> Responsible-Changed-By: linimon
> Responsible-Changed-When: Sat Feb 9 16:02:36 UTC 2013
> Responsible-Changed-Why:
> let's see if anyone on toolchain@ has an opinion.
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=175930

I don't think this has anything to do with clang (or gcc, for that
matter).  It is a potential issue with our system headers, specifically
<wchar.h>.

Our wchar_t is either int or unsigned int (on armeabi), so I guess it
should not be a problem to define a sensible value for the
__STDC_ISO_10646__ macro there.

As to what the exact value should be, I have no idea really.  The
C99 standard says only this:

__STDC_ISO_10646__
    An integer constant of the form yyyymmL (for example, 199712L),
    intended to indicate that values of type wchar_t are the coded
    representations of the characters defined by ISO/IEC 10646, along
    with all amendments and technical corrigenda as of the specified
    year and month.

GNU libc has this:

/* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.1.  */
#define __STDC_ISO_10646__              200009L

So maybe that is a good value for us too?


More information about the freebsd-toolchain mailing list