Replace a bool with an enum for clarity, based on review comment from James Dennett.

llvm-svn: 191420
This commit is contained in:
Richard Smith 2013-09-26 04:19:11 +00:00
parent 6ad26d3364
commit 1e130489b3
2 changed files with 11 additions and 8 deletions

View File

@ -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.

View File

@ -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 {