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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits