forked from OSchip/llvm-project
Replace a bool with an enum for clarity, based on review comment from James Dennett.
llvm-svn: 191420
This commit is contained in:
parent
6ad26d3364
commit
1e130489b3
|
@ -102,9 +102,11 @@ private:
|
|||
|
||||
static bool isDigitSeparator(char C) { return C == '\''; }
|
||||
|
||||
enum CheckSeparatorKind { CSK_BeforeDigits, CSK_AfterDigits };
|
||||
|
||||
/// \brief Ensure that we don't have a digit separator here.
|
||||
void checkSeparator(SourceLocation TokLoc, const char *Pos,
|
||||
bool IsAfterDigits);
|
||||
CheckSeparatorKind IsAfterDigits);
|
||||
|
||||
/// SkipHexDigits - Read and skip over any hex digits, up to End.
|
||||
/// Return a pointer to the first non-hex digit or End.
|
||||
|
|
|
@ -498,19 +498,19 @@ NumericLiteralParser::NumericLiteralParser(StringRef TokSpelling,
|
|||
hadError = true;
|
||||
return;
|
||||
} else if (*s == '.') {
|
||||
checkSeparator(TokLoc, s, true);
|
||||
checkSeparator(TokLoc, s, CSK_AfterDigits);
|
||||
s++;
|
||||
saw_period = true;
|
||||
checkSeparator(TokLoc, s, false);
|
||||
checkSeparator(TokLoc, s, CSK_BeforeDigits);
|
||||
s = SkipDigits(s);
|
||||
}
|
||||
if ((*s == 'e' || *s == 'E')) { // exponent
|
||||
checkSeparator(TokLoc, s, true);
|
||||
checkSeparator(TokLoc, s, CSK_AfterDigits);
|
||||
const char *Exponent = s;
|
||||
s++;
|
||||
saw_exponent = true;
|
||||
if (*s == '+' || *s == '-') s++; // sign
|
||||
checkSeparator(TokLoc, s, false);
|
||||
checkSeparator(TokLoc, s, CSK_BeforeDigits);
|
||||
const char *first_non_digit = SkipDigits(s);
|
||||
if (first_non_digit != s) {
|
||||
s = first_non_digit;
|
||||
|
@ -524,7 +524,7 @@ NumericLiteralParser::NumericLiteralParser(StringRef TokSpelling,
|
|||
}
|
||||
|
||||
SuffixBegin = s;
|
||||
checkSeparator(TokLoc, s, true);
|
||||
checkSeparator(TokLoc, s, CSK_AfterDigits);
|
||||
|
||||
// Parse the suffix. At this point we can classify whether we have an FP or
|
||||
// integer constant.
|
||||
|
@ -682,8 +682,9 @@ bool NumericLiteralParser::isValidUDSuffix(const LangOptions &LangOpts,
|
|||
}
|
||||
|
||||
void NumericLiteralParser::checkSeparator(SourceLocation TokLoc,
|
||||
const char *Pos, bool IsAfterDigits) {
|
||||
if (IsAfterDigits) {
|
||||
const char *Pos,
|
||||
CheckSeparatorKind IsAfterDigits) {
|
||||
if (IsAfterDigits == CSK_AfterDigits) {
|
||||
assert(Pos != ThisTokBegin);
|
||||
--Pos;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue