Re:Tell HN: C Experts Panel – Ask us anything about C
by begriffs on Tuesday April 14, 2020 @05:23PM
(#22871634)
Would the following be a correct way to determine whether there's a problem?
* First call setlocale(LC_CTYPE, "en_US.UTF-8")
* Next feed the UTF-8 string representation of every Unicode codepoint one at a time to mbstowcs() and ensure that the output for each is a wchar_t string of length one
* If all input codepoints numerically match the output wchar_t UTF-32 code units, then the implementation is officially good, and should define __STDC_ISO_10646__?
Re:Tell HN: C Experts Panel – Ask us anything about C
by AaronBallman on Tuesday April 14, 2020 @05:41PM
(#22871831)
I think this is correct, assuming that locale is supported by the implementation and wchar_t is wide enough, but I am by no means an expert on character encodings.
Clang defines that macro for some targets (like the Cloud ABI target), but not others. I'm not certain why the macro is not defined for macOS though (it might be worth a bug report to LLVM, as this could be a simple oversight).