]> granicus.if.org Git - clang/commit
Start factoring the on-disk records for an AST file into a control
authorDouglas Gregor <dgregor@apple.com>
Thu, 18 Oct 2012 05:31:06 +0000 (05:31 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 18 Oct 2012 05:31:06 +0000 (05:31 +0000)
commit1d9d9898ce2b338314161d92f39561a09a2a8b6f
tree2975de225d66cfcc442f39732f1cea2e052c881d
parent7c008813e17ddc2bb3953e925a86db3e1bf30198
Start factoring the on-disk records for an AST file into a control
block, which stores information about how the AST file to generated,
from the AST block, which stores the actual serialized AST. The
information in the control block should be enough to determine whether
the AST file is up-to-date and compatible with the current translation
unit, and reading it should not cause any side effects that aren't
easy to undo. That way, we can back out from an attempt to read an
incompatible or out-of-date AST file.

Note that there is still more factoring to do. In particular,
information about the source files used to generate the AST file
(along with their time stamps, sizes, etc.) still resides in the
source manager block.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166166 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Serialization/ASTBitCodes.h
include/clang/Serialization/ASTReader.h
include/clang/Serialization/ASTWriter.h
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp