From 92e1b62d45aa5a3cbd67eaf5903165d7d8efeada Mon Sep 17 00:00:00 2001 From: Yaron Keren Date: Wed, 18 Mar 2015 10:17:07 +0000 Subject: Remove many superfluous SmallString::str() calls. Now that SmallString is a first-class citizen, most SmallString::str() calls are not required. This patch removes a whole bunch of them, yet there are lots more. There are two use cases where str() is really needed: 1) To use one of StringRef member functions which is not available in SmallString. 2) To convert to std::string, as StringRef implicitly converts while SmallString do not. We may wish to change this, but it may introduce ambiguity. llvm-svn: 232622 --- clang/lib/Tooling/JSONCompilationDatabase.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'clang/lib/Tooling/JSONCompilationDatabase.cpp') diff --git a/clang/lib/Tooling/JSONCompilationDatabase.cpp b/clang/lib/Tooling/JSONCompilationDatabase.cpp index 3b5f7e2..7dc211e 100644 --- a/clang/lib/Tooling/JSONCompilationDatabase.cpp +++ b/clang/lib/Tooling/JSONCompilationDatabase.cpp @@ -176,7 +176,7 @@ JSONCompilationDatabase::getCompileCommands(StringRef FilePath) const { std::string Error; llvm::raw_string_ostream ES(Error); - StringRef Match = MatchTrie.findEquivalent(NativeFilePath.str(), ES); + StringRef Match = MatchTrie.findEquivalent(NativeFilePath, ES); if (Match.empty()) return std::vector(); llvm::StringMap< std::vector >::const_iterator @@ -307,13 +307,13 @@ bool JSONCompilationDatabase::parse(std::string &ErrorMessage) { SmallString<128> AbsolutePath( Directory->getValue(DirectoryStorage)); llvm::sys::path::append(AbsolutePath, FileName); - llvm::sys::path::native(AbsolutePath.str(), NativeFilePath); + llvm::sys::path::native(AbsolutePath, NativeFilePath); } else { llvm::sys::path::native(FileName, NativeFilePath); } IndexByFile[NativeFilePath].push_back( CompileCommandRef(Directory, Command)); - MatchTrie.insert(NativeFilePath.str()); + MatchTrie.insert(NativeFilePath); } return true; } -- cgit v1.1