From 1e130489b3a68834fedd8a957def1c8e4adbb447 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 26 Sep 2013 04:19:11 +0000 Subject: [PATCH] Replace a bool with an enum for clarity, based on review comment from James Dennett. llvm-svn: 191420 --- clang/include/clang/Lex/LiteralSupport.h | 4 +++- clang/lib/Lex/LiteralSupport.cpp | 15 ++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/clang/include/clang/Lex/LiteralSupport.h b/clang/include/clang/Lex/LiteralSupport.h index ccc29ae7e886..64d5aa2d5928 100644 --- a/clang/include/clang/Lex/LiteralSupport.h +++ b/clang/include/clang/Lex/LiteralSupport.h @@ -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. diff --git a/clang/lib/Lex/LiteralSupport.cpp b/clang/lib/Lex/LiteralSupport.cpp index e2ff6d6317b2..fce3ff3f5fa0 100644 --- a/clang/lib/Lex/LiteralSupport.cpp +++ b/clang/lib/Lex/LiteralSupport.cpp @@ -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 {