diff options
author | Chris Lattner <sabre@nondot.org> | 2009-01-17 06:22:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-01-17 06:22:33 +0000 |
commit | d32480d3db582186355d575db0421dd2823080b6 (patch) | |
tree | d0eec11f7cf221334aba2016cb3c39c5b6d2710f /clang/lib/Lex/PPDirectives.cpp | |
parent | d250ef911f62cb317596ba0aef9e3d75ca056d36 (diff) | |
download | bcm5719-llvm-d32480d3db582186355d575db0421dd2823080b6.tar.gz bcm5719-llvm-d32480d3db582186355d575db0421dd2823080b6.zip |
this massive patch introduces a simple new abstraction: it makes
"FileID" a concept that is now enforced by the compiler's type checker
instead of yet-another-random-unsigned floating around.
This is an important distinction from the "FileID" currently tracked by
SourceLocation. *That* FileID may refer to the start of a file or to a
chunk within it. The new FileID *only* refers to the file (and its
#include stack and eventually #line data), it cannot refer to a chunk.
FileID is a completely opaque datatype to all clients, only SourceManager
is allowed to poke and prod it.
llvm-svn: 62407
Diffstat (limited to 'clang/lib/Lex/PPDirectives.cpp')
-rw-r--r-- | clang/lib/Lex/PPDirectives.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp index 0566ec54b08..f7551a2532f 100644 --- a/clang/lib/Lex/PPDirectives.cpp +++ b/clang/lib/Lex/PPDirectives.cpp @@ -394,8 +394,8 @@ const FileEntry *Preprocessor::LookupFile(const char *FilenameStart, // info about where the current file is. const FileEntry *CurFileEnt = 0; if (!FromDir) { - unsigned FileID = getCurrentFileLexer()->getFileID(); - CurFileEnt = SourceMgr.getFileEntryForID(FileID); + FileID FID = getCurrentFileLexer()->getFileID(); + CurFileEnt = SourceMgr.getFileEntryForID(FID); } // Do a standard file entry lookup. @@ -786,16 +786,16 @@ void Preprocessor::HandleIncludeDirective(Token &IncludeTok, SourceMgr.getFileCharacteristic(getCurrentFileLexer()->getFileID())); // Look up the file, create a File ID for it. - unsigned FileID = SourceMgr.createFileID(File, FilenameTok.getLocation(), - FileCharacter); - if (FileID == 0) { + FileID FID = SourceMgr.createFileID(File, FilenameTok.getLocation(), + FileCharacter); + if (FID.isInvalid()) { Diag(FilenameTok, diag::err_pp_file_not_found) << std::string(FilenameStart, FilenameEnd); return; } // Finally, if all is good, enter the new file! - EnterSourceFile(FileID, CurDir); + EnterSourceFile(FID, CurDir); } /// HandleIncludeNextDirective - Implements #include_next. |