[Bug c/56086] when compiling C code with -std=gnu99 macro __STDC_UTF_16__ is defined

joseph at codesourcery dot com gcc-bugzilla@gcc.gnu.org
Mon Jan 28 03:43:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56086

--- Comment #4 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2013-01-28 03:43:31 UTC ---
For C, char16_t and char32_t are typedefs in <uchar.h> (a header provided 
by the C library, not by GCC), *not* built-in types, and __STDC_UTF_16__ 
is a built-in macro.

For C++, char16_t and char32_t are built-in types that don't need a header 
to use them, and __STDC_UTF_16__ is defined in <cuchar> rather than 
built-in (I don't know if any change may have resulted from Jason raising 
the issue of the difference from C regarding that macro as per 
<http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01524.html>).



More information about the Gcc-bugs mailing list