hanchenye-llvm-project/clang/lib/Serialization
Argyrios Kyrtzidis 442dd80715 [PCH] Make sure that all newly introduced visible decls in a DeclContext
coming from an AST file are registered for serialization.

A static data member instantiation of in a chained PCH could be missed
when serializing decls; the result was that when emitting the visible decls
map of its DeclContext, we would use a DeclID that was not actually emitted,
leading to crashes or hangs.

Fix this by making sure such decls are always registered for serialization.
Also introduce extra sanity checks to make sure we don't register new
declarations or types after we have serialized the types/decls block.

rdar://11728990

llvm-svn: 159550
2012-07-02 19:19:01 +00:00
..
ASTCommon.cpp Restore r142914 and r142915, now with missing file and apparent 2011-10-25 17:37:35 +00:00
ASTCommon.h PR13189: va_list broken with precompiled headers 2012-07-01 15:57:25 +00:00
ASTReader.cpp [PCH] Make sure that all newly introduced visible decls in a DeclContext 2012-07-02 19:19:01 +00:00
ASTReaderDecl.cpp [AST/libclang] Fix the selector locations that are reported for a 2012-06-16 00:46:02 +00:00
ASTReaderInternals.h Implement the all_lookups_iterator for PCH as a follow-up to r153970. This 2012-04-16 02:51:46 +00:00
ASTReaderStmt.cpp Etch out the code path for MS-style inline assembly. 2012-06-11 20:47:18 +00:00
ASTWriter.cpp [PCH] Make sure that all newly introduced visible decls in a DeclContext 2012-07-02 19:19:01 +00:00
ASTWriterDecl.cpp PR13064: Store whether an in-class initializer uses direct or copy 2012-06-10 03:12:00 +00:00
ASTWriterStmt.cpp Etch out the code path for MS-style inline assembly. 2012-06-11 20:47:18 +00:00
CMakeLists.txt Remove a goofy CMake hack and use the standard CMake facilities to 2012-06-21 01:30:21 +00:00
GeneratePCH.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
Makefile Reintroduce the serialization library, with fixed dependencies. 2010-08-17 20:43:28 +00:00
Module.cpp Use forward declarations for ASTDeclContextNameLookupTable and add a missing delete. 2012-04-15 12:36:49 +00:00
ModuleManager.cpp Optimize unqualified/global name lookup in modules by introducing a 2012-01-18 20:56:22 +00:00