diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-10 01:35:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-10 01:35:12 +0000 |
commit | d081f8c851d5ea15456b9e56a88cd3fc11a26f77 (patch) | |
tree | 732f29aeb5552a70c2014af3368364e0c3670fc5 /clang/lib/Lex/Pragma.cpp | |
parent | 321098ebec22e9b93da4b14490881c2cfc285092 (diff) | |
download | bcm5719-llvm-d081f8c851d5ea15456b9e56a88cd3fc11a26f77.tar.gz bcm5719-llvm-d081f8c851d5ea15456b9e56a88cd3fc11a26f77.zip |
stringref'ize a bunch of filename handling logic. Much
nicer than passing around two const char*'s.
llvm-svn: 93094
Diffstat (limited to 'clang/lib/Lex/Pragma.cpp')
-rw-r--r-- | clang/lib/Lex/Pragma.cpp | 16 |
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; } |