llvm-project/clang/lib/Lex
Douglas Gregor ff2be53f8f Introduce the notion of name visibility into modules. For a given
(sub)module, all of the names may be hidden, just the macro names may
be exposed (for example, after the preprocessor has seen the import of
the module but the parser has not), or all of the names may be
exposed. Importing a module makes its names, and the names in any of
its non-explicit submodules, visible to name lookup (transitively).

This commit only introduces the notion of name visible and marks
modules and submodules as visible when they are imported. The actual
name-hiding logic in the AST reader will follow (along with test cases).

llvm-svn: 145586
2011-12-01 17:11:21 +00:00
..
CMakeLists.txt Introduce basic support for parsing module map files. 2011-11-11 19:10:28 +00:00
HeaderMap.cpp remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports 2011-07-23 10:55:15 +00:00
HeaderSearch.cpp Promote ModuleMap::Module to a namespace-scope class in the Basic 2011-11-30 23:21:26 +00:00
Lexer.cpp Remove assert from hot code path and add a clarifying comment. 2011-11-22 20:39:31 +00:00
LiteralSupport.cpp Fix a regression in wide character codegen. See PR11369. 2011-11-14 05:17:37 +00:00
MacroArgs.cpp Fixed exapnsion range for # and ##. 2011-10-03 18:39:03 +00:00
MacroArgs.h Fixed exapnsion range for # and ##. 2011-10-03 18:39:03 +00:00
MacroInfo.cpp For modules, all macros that aren't include guards are implicitly 2011-10-17 15:32:29 +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 Unbreak build with GCC. Clang is too lame to diagnose this particular ill-formedness 2011-11-30 23:29:56 +00:00
PPCaching.cpp Optimize the preprocessor's handling of the __import_module__ 2011-09-07 23:11:54 +00:00
PPDirectives.cpp Introduce the notion of name visibility into modules. For a given 2011-12-01 17:11:21 +00:00
PPExpressions.cpp -Wc++98-compat warnings for the lexer. 2011-10-15 01:18:56 +00:00
PPLexerChange.cpp Argyrios says this change is required for safety under PTH. 2011-10-18 01:36:41 +00:00
PPMacroExpansion.cpp implement __has_feature(address_sanitizer); also use LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer 2011-11-22 01:28:36 +00:00
PTHLexer.cpp Rename Diagnostic to DiagnosticsEngine as per issue 5397 2011-09-25 23:23:43 +00:00
Pragma.cpp Make the loading of information attached to an IdentifierInfo from an 2011-10-27 09:33:13 +00:00
PreprocessingRecord.cpp [PCH] When visiting preprocessed entities, make it possible to avoid deserializing 2011-10-25 00:29:50 +00:00
Preprocessor.cpp Introduce the notion of name visibility into modules. For a given 2011-12-01 17:11:21 +00:00
PreprocessorLexer.cpp Boost the efficiency of SourceManager::getMacroArgExpandedLocation. 2011-08-21 23:33:04 +00:00
ScratchBuffer.cpp Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset. 2011-09-19 20:40:19 +00:00
TokenConcatenation.cpp Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset. 2011-09-19 20:40:19 +00:00
TokenLexer.cpp Fixed exapnsion range for # and ##. 2011-10-03 18:39:03 +00:00