llvm-project/clang/lib
Richard Smith 15e32fd215 [modules] Fix bug where an anonymous namespace could cause the containing
namespace to not merge properly.

We have an invariant here: after a declaration reads its canonical declaration,
it can assume the canonical declaration is fully merged. This invariant can be
violated if deserializing some declaration triggers the deserialization of a
later declaration, because that later declaration can in turn deserialize a
redeclaration of that first declaration before it is fully merged.

The anonymous namespace for a namespace gets stored with the first declaration
of that namespace, which may be before its parent namespace, so defer loading
it until after we've finished merging the surrounding namespace.

llvm-svn: 232455
2015-03-17 02:23:11 +00:00
..
ARCMigrate [SDK modernizer] Patch to fix type of the typed enums when 2015-03-02 23:58:02 +00:00
AST Sort ObjCProtocolDecls with array_pod_sort. 2015-03-14 13:32:49 +00:00
ASTMatchers ASTMatchers: Add an explicit dependency on libclangBasic. 2015-03-12 16:25:19 +00:00
Analysis Take the non-reference type when constructing a dummy expression. 2015-03-16 21:49:43 +00:00
Basic Global inline assembler blocks are merged before parsing, so no specific 2015-03-16 17:54:54 +00:00
CodeGen Fix the LLVM type used when lowering initializer list reference temporaries to global variables. 2015-03-17 02:21:31 +00:00
Driver Implement bad cast checks using control flow integrity information. 2015-03-14 02:42:25 +00:00
Edit Edit: Do not extend a removal to include trailing whitespace if we're at the end 2014-09-15 11:47:10 +00:00
Format clang-format: [JS] support cast syntax and type arguments. 2015-03-15 13:59:51 +00:00
Frontend GCOV: Expose the -coverage-exit-block-before-body flag in clang -cc1 2015-03-16 23:52:21 +00:00
FrontendTool Provide a BuryPointer for unique_ptrs. 2014-08-29 16:53:14 +00:00
Headers [X86, AVX2] Replace inserti128 and extracti128 intrinsics with generic shuffles 2015-03-12 21:54:24 +00:00
Index [libclang] Use same USR encoding for 'char' regardless of what the target considers the sign to be. 2014-12-08 09:09:05 +00:00
Lex Implement PreprocessingRecord's and LazyVector's iterators on top of iterator_adaptor_base 2015-03-15 15:27:19 +00:00
Parse Sema: Don't emit a missing prototype warning for deleted functions. 2015-03-12 14:28:47 +00:00
Rewrite [Rewrite] Make RewriteBuffer accessible on its own, and add a unit test for it. 2015-03-08 04:00:33 +00:00
Sema [clang] Replacing asserts with static_asserts where appropriate 2015-03-16 09:59:54 +00:00
Serialization [modules] Fix bug where an anonymous namespace could cause the containing 2015-03-17 02:23:11 +00:00
StaticAnalyzer [analyzer] Sort path diagnostics with array_pod_sort. 2015-03-14 12:39:22 +00:00
Tooling Tooling: Hide implementation details 2015-03-09 15:03:26 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00