hanchenye-llvm-project/clang/lib/Lex
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
..
CMakeLists.txt [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
HeaderMap.cpp [C++11] Use 'nullptr'. Lex edition. 2014-05-17 23:10:59 +00:00
HeaderSearch.cpp Hide the concept of diagnostic levels from lex, parse and sema 2014-06-15 23:30:39 +00:00
Lexer.cpp Hide the concept of diagnostic levels from lex, parse and sema 2014-06-15 23:30:39 +00:00
LiteralSupport.cpp Convert StringLiteralParser constructor to use ArrayRef instead of a pointer and count. 2014-06-26 04:58:39 +00:00
MacroArgs.cpp [C++11] Use 'nullptr'. Lex edition. 2014-05-17 23:10:59 +00:00
MacroInfo.cpp Reinstate r213348, reverted in r213395, with an additional bug fix and more 2014-07-18 22:13:40 +00:00
Makefile
ModuleMap.cpp Fix case-sensitivity of inferred framework modules 2014-07-14 19:45:12 +00:00
PPCaching.cpp Fix the build break introduced by r195799 by restoring two close 2013-11-27 01:40:12 +00:00
PPCallbacks.cpp
PPConditionalDirectiveRecord.cpp Changed ConditionValue argument to PPCallbacks If and Elif callbacks to be a 3-state enum. 2013-12-07 08:41:15 +00:00
PPDirectives.cpp Convert StringLiteralParser constructor to use ArrayRef instead of a pointer and count. 2014-06-26 04:58:39 +00:00
PPExpressions.cpp Preprocessor: support defined() with operator names for MS compatibility 2014-05-21 06:13:51 +00:00
PPLexerChange.cpp Removed unused typedef for recursive_directory_iterator 2014-06-30 16:10:15 +00:00
PPMacroExpansion.cpp DiagnosticIDs: use diagnostic severities to simplify extension handling 2014-06-22 21:58:33 +00:00
PTHLexer.cpp Improve memory ownership of vfs::Files in the FileSystemStatCache by using std::unique_ptr 2014-07-08 15:46:02 +00:00
Pragma.cpp DiagnosticsEngine: update severity setters to new terminology 2014-06-12 11:13:52 +00:00
PreprocessingRecord.cpp [C++11] Use 'nullptr'. Lex edition. 2014-05-17 23:10:59 +00:00
Preprocessor.cpp Convert StringLiteralParser constructor to use ArrayRef instead of a pointer and count. 2014-06-26 04:58:39 +00:00
PreprocessorLexer.cpp Make Preprocessor::Lex non-recursive. 2013-09-19 00:41:32 +00:00
ScratchBuffer.cpp [C++11] Use 'nullptr'. Lex edition. 2014-05-17 23:10:59 +00:00
TokenConcatenation.cpp Revert "Fix assertion failures on annot_* tokens in clang -E" 2014-01-30 21:50:18 +00:00
TokenLexer.cpp [C++11] Use 'nullptr'. Lex edition. 2014-05-17 23:10:59 +00:00
UnicodeCharSets.h Fix the range for Malayam UCNs in C99. 2014-02-05 15:32:23 +00:00