Eliminate a completely unnecessary buffer copy when parsing float literals.
llvm-svn: 91974
diff --git a/clang/lib/Lex/LiteralSupport.cpp b/clang/lib/Lex/LiteralSupport.cpp
index ab66942..f1993d2 100644
--- a/clang/lib/Lex/LiteralSupport.cpp
+++ b/clang/lib/Lex/LiteralSupport.cpp
@@ -615,17 +615,12 @@
using llvm::APFloat;
using llvm::StringRef;
- llvm::SmallVector<char,256> floatChars;
unsigned n = std::min(SuffixBegin - ThisTokBegin, ThisTokEnd - ThisTokBegin);
- for (unsigned i = 0; i != n; ++i)
- floatChars.push_back(ThisTokBegin[i]);
-
- floatChars.push_back('\0');
APFloat V (Format, APFloat::fcZero, false);
APFloat::opStatus status;
- status = V.convertFromString(StringRef(&floatChars[0], n),
+ status = V.convertFromString(StringRef(ThisTokBegin, n),
APFloat::rmNearestTiesToEven);
if (isExact)