diff options
-rw-r--r-- | clang/include/clang/Lex/Preprocessor.h | 16 | ||||
-rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 8 |
2 files changed, 12 insertions, 12 deletions
diff --git a/clang/include/clang/Lex/Preprocessor.h b/clang/include/clang/Lex/Preprocessor.h index a94c8c1d842..a631a583a99 100644 --- a/clang/include/clang/Lex/Preprocessor.h +++ b/clang/include/clang/Lex/Preprocessor.h @@ -451,16 +451,16 @@ public: /// if an internal buffer is returned. unsigned getSpelling(const Token &Tok, const char *&Buffer) const; - /// getPhysicalCharacterAt - Return a pointer to the start of the specified - /// location in the appropriate MemoryBuffer. - char getPhysicalCharacterAt(SourceLocation SL) const { + /// getSpelledCharacterAt - Return a pointer to the start of the specified + /// location in the appropriate MemoryBuffer. + char getSpelledCharacterAt(SourceLocation SL) const { if (PTH) { SL = SourceMgr.getSpellingLoc(SL); - unsigned fid = SourceMgr.getCanonicalFileID(SL); - unsigned fpos = SourceMgr.getFullFilePos(SL); - const char* data; - if (PTH->getSpelling(fid, fpos, data)) - return *data; + unsigned FID = SourceMgr.getCanonicalFileID(SL); + unsigned FPos = SourceMgr.getFullFilePos(SL); + const char *Data; + if (PTH->getSpelling(FID, FPos, Data)) + return *Data; } return *SourceMgr.getCharacterData(SL); diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index b8d58c101c1..bf2d7b1489a 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -851,12 +851,12 @@ Sema::ExprResult Sema::ActOnCharacterConstant(const Token &Tok) { } Action::ExprResult Sema::ActOnNumericConstant(const Token &Tok) { - // fast path for a single digit (which is quite common). A single digit + // Fast path for a single digit (which is quite common). A single digit // cannot have a trigraph, escaped newline, radix prefix, or type suffix. if (Tok.getLength() == 1) { - const char Ty = PP.getPhysicalCharacterAt(Tok.getLocation()); - unsigned IntSize =static_cast<unsigned>(Context.getTypeSize(Context.IntTy)); - return ExprResult(new IntegerLiteral(llvm::APInt(IntSize, Ty-'0'), + const char Val = PP.getSpelledCharacterAt(Tok.getLocation()); + unsigned IntSize = Context.Target.getIntWidth(); + return ExprResult(new IntegerLiteral(llvm::APInt(IntSize, Val-'0'), Context.IntTy, Tok.getLocation())); } |