================
@@ -1432,14 +1432,26 @@ void
NumericLiteralParser::ParseNumberStartingWithZero(SourceLocation TokLoc) {
Diags.Report(TokLoc, DiagId);
++s;
DigitsBegin = s;
- SawOctalPrefix = true;
+ radix = 8;
----------------
naveen-seth wrote:
I don't think the octal digits are skipped twice here, because the function now
always returns before exiting the if-block we are currently in.
https://github.com/llvm/llvm-project/blob/8556e25c43fff5525501113f38dc0f3b48203f5c/clang/lib/Lex/LiteralSupport.cpp#L1447-L1448
This separates parsing for octals with a literal prefix from those starting
with `0`, so that the logic for potentially parsing a floating-point only
applies to the latter (otherwise, we get this crash).
Let me know if I am missing something here!
For the `radix` assignment, this could be shared between both cases if we move
it above the current if statement.
https://github.com/llvm/llvm-project/pull/141695
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits