]> granicus.if.org Git - clang/commit
Instead of modifying the ObjC AST to not modify existing declarations, teach chained...
authorSebastian Redl <sebastian.redl@getdesigned.at>
Fri, 13 Aug 2010 00:28:03 +0000 (00:28 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Fri, 13 Aug 2010 00:28:03 +0000 (00:28 +0000)
commit0b17c61e8f143901ce11b4a6e5129ac63aaeee04
treeb9b1cfd1fc9c8bbdcf8c5ddc456e0811f3d62dd6
parent8404f670f5bda1efb60076c701613b86b576533d
Instead of modifying the ObjC AST to not modify existing declarations, teach chained PCH to overwrite declarations from earlier PCH files in dependent ones. Tell Sema to note when it changes AST nodes so that they have to be reserialized. Finally, the ObjCProtocolDecls created in forward decls, like the ObjCInterfaceDecls in @class forward decls, are not lexically part of the decl context; only the definition is.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110989 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/DeclBase.h
include/clang/Frontend/PCHBitCodes.h
include/clang/Frontend/PCHReader.h
include/clang/Frontend/PCHWriter.h
lib/Frontend/PCHReader.cpp
lib/Frontend/PCHReaderDecl.cpp
lib/Frontend/PCHWriter.cpp
lib/Frontend/PCHWriterDecl.cpp
lib/Sema/SemaDeclObjC.cpp
test/PCH/chain-predecl.h [new file with mode: 0644]
test/PCH/chain-predecl.m [new file with mode: 0644]