tahonermann added inline comments.
================
Comment at: clang/lib/Lex/PPExpressions.cpp:413
Val.setIsUnsigned(!TargetInfo::isTypeSigned(TI.getWCharType()));
- else if (!Literal.isUTF16() && !Literal.isUTF32())
+ else if (!Literal.isUTF8() && !Literal.isUTF16() && !Literal.isUTF32())
Val.setIsUnsigned(!PP.getLangOpts().CharIsSigned);
----------------
tahonermann wrote:
> I think the check for UTF-8 should also be conditioned on
> `PP.getLangOpts().Char8`. When `char8_t` support is not enabled (as in C++17
> or with `-fno-char8_t` in C++20), UTF-8 character literals still have type
> `char`.
> else if (!(Literal.isUTF8() && PP.getLangOpts().Char8) &&
> !Literal.isUTF16() && !Literal.isUTF32())
My C++ bias may be showing here; `LangOptions.Char8` may not be relevant for C,
so this may require additional qualification.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124996/new/
https://reviews.llvm.org/D124996
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits