libc++ does not normalize the name of constructed locales, thus allowing locales with names that are not self-encapsulated to be created. Such locales then behave differently but compare equal.
It can also be imagined that such names would cause calls to locale::global() to set the C locale in a way that behaves differently than the locale passed to the call.
libc++ does not normalize the name of constructed locales, thus allowing locales with names that are not self-encapsulated to be created. Such locales then behave differently but compare equal.
It can also be imagined that such names would cause calls to
locale::global()
to set the C locale in a way that behaves differently than the locale passed to the call.Online compiler link: https://godbolt.org/z/YfobMx41o
Source (
<stdin>
):Compiler invocation:
Run invocation command:
Actual run output:
Expected run output:
Compiler version info (
clang++ -v
):