llvm-project/clang/lib/Lex
Richard Smith 49f906a36f If a module A exports a macro M, and a module B imports that macro and #undef's
it, importers of B should not see the macro. This is complicated by the fact
that A's macro could also be visible through a different path. The rules (as
hashed out on cfe-commits) are included as a documentation update in this
change.

With this, the number of regressions in libc++'s testsuite when modules are
enabled drops from 47 to 7. Those remaining 7 are also macro-related, and are
due to remaining bugs in this change (in particular, the handling of submodules
is imperfect).

llvm-svn: 202560
2014-03-01 00:08:04 +00:00
..
CMakeLists.txt [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
HeaderMap.cpp If the headermap maps the filename to a framework include ("Foo.h" -> "Foo/Foo.h"), 2014-02-14 14:58:28 +00:00
HeaderSearch.cpp Fix false positives in -Wmsvc-include by continuing header search 2014-02-18 23:49:24 +00:00
Lexer.cpp Fix a minor bug in lexing pp-numbers with digit separators: if a pp-number contains "'e+", the pp-number ends between the 'e' and the '+'. 2014-02-28 20:06:02 +00:00
LiteralSupport.cpp PR18855: Add support for UCNs and UTF-8 encoding within ud-suffixes. 2014-02-17 21:52:30 +00:00
MacroArgs.cpp [Preprocessor] For the MacroExpands preprocessor callback, also pass the MacroArgs object that provides information about 2013-05-03 22:31:32 +00:00
MacroInfo.cpp If a module A exports a macro M, and a module B imports that macro and #undef's 2014-03-01 00:08:04 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
ModuleMap.cpp Enable layering check in unavailable modules. 2013-12-20 12:09:36 +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 Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
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 Track the currently-being-built submodule inside the preprocessor (rather than 2014-01-31 20:47:44 +00:00
PPExpressions.cpp Switch over more of the parser to err_expected 2013-12-30 23:29:50 +00:00
PPLexerChange.cpp Track the currently-being-built submodule inside the preprocessor (rather than 2014-01-31 20:47:44 +00:00
PPMacroExpansion.cpp If a module A exports a macro M, and a module B imports that macro and #undef's 2014-03-01 00:08:04 +00:00
PTHLexer.cpp Reapply fixed "Honour 'use-external-names' in FileManager" 2014-02-28 21:16:07 +00:00
Pragma.cpp Use llvm::DeleteContainerSeconds when possible 2014-02-19 23:44:52 +00:00
PreprocessingRecord.cpp [libclang] Record ranges skipped by the preprocessor and expose them with libclang. 2013-12-05 08:19:32 +00:00
Preprocessor.cpp Use a more conventional logical op instead of bitwise and 2014-02-24 04:35:58 +00:00
PreprocessorLexer.cpp Make Preprocessor::Lex non-recursive. 2013-09-19 00:41:32 +00:00
ScratchBuffer.cpp Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset. 2011-09-19 20:40:19 +00:00
TokenConcatenation.cpp Revert "Fix assertion failures on annot_* tokens in clang -E" 2014-01-30 21:50:18 +00:00
TokenLexer.cpp If the first token in a macro that appears at the start of a line expands to 2014-02-24 20:45:00 +00:00
UnicodeCharSets.h Fix the range for Malayam UCNs in C99. 2014-02-05 15:32:23 +00:00