]> granicus.if.org Git - clang/commit
this massive patch introduces a simple new abstraction: it makes
authorChris Lattner <sabre@nondot.org>
Sat, 17 Jan 2009 06:22:33 +0000 (06:22 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 17 Jan 2009 06:22:33 +0000 (06:22 +0000)
commit2b2453a7d8fe732561795431f39ceb2b2a832d84
treead3d68197002f997b30e6617e41e290eff963b03
parent05816591ec488a933dfecc9ff9f3cbf3c32767c2
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62407 91177308-0d34-0410-b5e6-96231b3b80d8
34 files changed:
Driver/ASTConsumers.cpp
Driver/CacheTokens.cpp
Driver/DiagChecker.cpp
Driver/HTMLPrint.cpp
Driver/RewriteBlocks.cpp
Driver/RewriteMacros.cpp
Driver/RewriteObjC.cpp
Driver/clang.cpp
include/clang/Basic/SourceLocation.h
include/clang/Basic/SourceManager.h
include/clang/Lex/PTHLexer.h
include/clang/Lex/PTHManager.h
include/clang/Lex/Preprocessor.h
include/clang/Lex/PreprocessorLexer.h
include/clang/Lex/ScratchBuffer.h
include/clang/Rewrite/HTMLRewrite.h
include/clang/Rewrite/Rewriter.h
include/clang/Rewrite/TokenRewriter.h
lib/Basic/SourceLocation.cpp
lib/Basic/SourceManager.cpp
lib/Driver/HTMLDiagnostics.cpp
lib/Driver/PlistDiagnostics.cpp
lib/Lex/Lexer.cpp
lib/Lex/PPDirectives.cpp
lib/Lex/PPLexerChange.cpp
lib/Lex/PTHLexer.cpp
lib/Lex/Pragma.cpp
lib/Lex/Preprocessor.cpp
lib/Lex/PreprocessorLexer.cpp
lib/Lex/ScratchBuffer.cpp
lib/Lex/TokenLexer.cpp
lib/Rewrite/HTMLRewrite.cpp
lib/Rewrite/Rewriter.cpp
lib/Rewrite/TokenRewriter.cpp