]> granicus.if.org Git - clang/commitdiff
Use llvm::hexDigitValue in comment lexer
authorDmitri Gribenko <gribozavr@gmail.com>
Sat, 19 Jan 2013 22:06:05 +0000 (22:06 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Sat, 19 Jan 2013 22:06:05 +0000 (22:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172924 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/CommentLexer.cpp

index c5de09d0b27582b01970082b5d13eba769de6b14..ff78e8a4fa456f9e7a649988b6ed230ee97014b5 100644 (file)
@@ -1,6 +1,7 @@
 #include "clang/AST/CommentLexer.h"
 #include "clang/AST/CommentCommandTraits.h"
 #include "clang/Basic/ConvertUTF.h"
+#include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/Support/ErrorHandling.h"
 
@@ -65,12 +66,7 @@ StringRef Lexer::resolveHTMLHexCharacterReference(StringRef Name) const {
     CodePoint *= 16;
     const char C = Name[i];
     assert(isHTMLHexCharacterReferenceCharacter(C));
-    if (C >= '0' && C <= '9')
-      CodePoint += Name[i] - '0';
-    else if (C >= 'a' && C <= 'f')
-      CodePoint += Name[i] - 'a' + 10;
-    else
-      CodePoint += Name[i] - 'A' + 10;
+    CodePoint += llvm::hexDigitValue(C);
   }
 
   char *Resolved = Allocator.Allocate<char>(UNI_MAX_UTF8_BYTES_PER_CODE_POINT);