AntonBikineev marked 7 inline comments as done. AntonBikineev added a comment.
Thanks Richard for taking a look! ================ Comment at: clang/include/clang/Basic/DiagnosticCommonKinds.td:190 InGroup<CXX98CompatPedantic>, DefaultIgnore; +def ext_cxx2b_size_t_suffix : Extension< + "'size_t' suffix for literals is a C++2b extension">, ---------------- rsmith wrote: > Should this be an `ExtWarn`? I think we should warn on this by default. I tried to follow the strategy used for 'long long' (only warn with -Wlong-long), but I agree that warn-by-default would probably be better. ================ Comment at: clang/lib/Lex/LiteralSupport.cpp:594-595 // Loop over all of the characters of the suffix. If we see something bad, // we break out of the loop. for (; s != ThisTokEnd; ++s) { ---------------- rsmith wrote: > General comment: I think the checks here have become too complex and > error-prone. I suggest we add another flag, `hasSize`, that's set when we > parse any size modifier (`F`, `L`, `LL`, `H`, `F128`, `I64`, and now `Z`), > and when parsing any size modifier, replace the existing ad-hoc set of checks > with a check for `hasSize`. Good idea! It actually helped to flush out the issue when Q and H are mixed together: https://godbolt.org/z/8hj39P93a Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99456/new/ https://reviews.llvm.org/D99456 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits