summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/Pragma.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Lex/Pragma.cpp')
-rw-r--r--clang/lib/Lex/Pragma.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/clang/lib/Lex/Pragma.cpp b/clang/lib/Lex/Pragma.cpp
index 74692faf42c..856b3bd76d8 100644
--- a/clang/lib/Lex/Pragma.cpp
+++ b/clang/lib/Lex/Pragma.cpp
@@ -286,27 +286,25 @@ void Preprocessor::HandlePragmaDependency(Token &DependencyTok) {
return;
// Reserve a buffer to get the spelling.
- llvm::SmallVector<char, 128> FilenameBuffer;
+ llvm::SmallString<128> FilenameBuffer;
FilenameBuffer.resize(FilenameTok.getLength());
const char *FilenameStart = &FilenameBuffer[0];
unsigned Len = getSpelling(FilenameTok, FilenameStart);
- const char *FilenameEnd = FilenameStart+Len;
- bool isAngled = GetIncludeFilenameSpelling(FilenameTok.getLocation(),
- FilenameStart, FilenameEnd);
+ llvm::StringRef Filename(FilenameStart, Len);
+ bool isAngled =
+ GetIncludeFilenameSpelling(FilenameTok.getLocation(), Filename);
// If GetIncludeFilenameSpelling set the start ptr to null, there was an
// error.
- if (FilenameStart == 0)
+ if (Filename.empty())
return;
// Search include directories for this file.
const DirectoryLookup *CurDir;
- const FileEntry *File = LookupFile(FilenameStart, FilenameEnd,
- FilenameTok.getLocation(),
+ const FileEntry *File = LookupFile(Filename, FilenameTok.getLocation(),
isAngled, 0, CurDir);
if (File == 0) {
- Diag(FilenameTok, diag::err_pp_file_not_found)
- << std::string(FilenameStart, FilenameEnd);
+ Diag(FilenameTok, diag::err_pp_file_not_found) << Filename;
return;
}
OpenPOWER on IntegriCloud