llvm-project/clang/lib/Serialization
Richard Smith e657bbdcbc Reinstate r213348, reverted in r213395, with an additional bug fix and more
thorough tests.

Original commit message:

[modules] Fix macro hiding bug exposed if:

 * A submodule of module A is imported into module B
 * Another submodule of module A that is not imported into B exports a macro
 * Some submodule of module B also exports a definition of the macro, and
   happens to be the first submodule of B that imports module A.

In this case, we would incorrectly determine that A's macro redefines B's
macro, and so we don't need to re-export B's macro at all.

This happens with the 'assert' macro in an LLVM self-host. =(

llvm-svn: 213416
2014-07-18 22:13:40 +00:00
..
ASTCommon.cpp [C++11] Use 'nullptr'. Serialization edition. 2014-05-22 05:54:18 +00:00
ASTCommon.h When a module completes the definition of a class template specialization imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations. 2014-04-19 03:48:30 +00:00
ASTReader.cpp Reinstate r213348, reverted in r213395, with an additional bug fix and more 2014-07-18 22:13:40 +00:00
ASTReaderDecl.cpp [modules] Rearrange and unify the way we determine if we need to pull in 2014-07-15 03:37:06 +00:00
ASTReaderInternals.h Remove unused sys/stat.h includes 2014-07-07 08:37:15 +00:00
ASTReaderStmt.cpp [OPENMP] Initial parsing and sema analysis for 'taskwait' directive. 2014-07-18 10:17:07 +00:00
ASTWriter.cpp Reinstate r213348, reverted in r213395, with an additional bug fix and more 2014-07-18 22:13:40 +00:00
ASTWriterDecl.cpp [PCH] Remove the BackingIvarReferencedInAccessor field from DECL_OBJC_IVAR abbreviation record. 2014-06-21 18:16:40 +00:00
ASTWriterStmt.cpp [OPENMP] Initial parsing and sema analysis for 'taskwait' directive. 2014-07-18 10:17:07 +00:00
CMakeLists.txt [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
GeneratePCH.cpp [C++11] Use 'nullptr'. Serialization edition. 2014-05-22 05:54:18 +00:00
GlobalModuleIndex.cpp Update for llvm api change. 2014-07-06 17:43:24 +00:00
Makefile Reintroduce the serialization library, with fixed dependencies. 2010-08-17 20:43:28 +00:00
Module.cpp [C++11] Use 'nullptr'. Serialization edition. 2014-05-22 05:54:18 +00:00
ModuleManager.cpp Update for llvm api change. 2014-07-06 17:43:24 +00:00