[modules] Add local submodule visibility support for declarations.
With this change, enabling -fmodules-local-submodule-visibility results in name visibility rules being applied to submodules of the current module in addition to imported modules (that is, names no longer "leak" between submodules of the same top-level module). This also makes it much safer to textually include a non-modular library into a module: each submodule that textually includes that library will get its own "copy" of that library, and so the library becomes visible no matter which including submodule you import. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237473 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/ASTContext.h 22 additions, 0 deletionsinclude/clang/AST/ASTContext.h
- include/clang/AST/Decl.h 5 additions, 5 deletionsinclude/clang/AST/Decl.h
- include/clang/AST/DeclBase.h 17 additions, 2 deletionsinclude/clang/AST/DeclBase.h
- include/clang/ASTMatchers/ASTMatchersInternal.h 1 addition, 0 deletionsinclude/clang/ASTMatchers/ASTMatchersInternal.h
- include/clang/Basic/Module.h 4 additions, 1 deletioninclude/clang/Basic/Module.h
- include/clang/Sema/Sema.h 28 additions, 3 deletionsinclude/clang/Sema/Sema.h
- include/clang/Serialization/ASTReader.h 4 additions, 0 deletionsinclude/clang/Serialization/ASTReader.h
- lib/AST/ASTContext.cpp 25 additions, 0 deletionslib/AST/ASTContext.cpp
- lib/AST/ASTDumper.cpp 3 additions, 1 deletionlib/AST/ASTDumper.cpp
- lib/AST/Decl.cpp 16 additions, 3 deletionslib/AST/Decl.cpp
- lib/AST/DeclBase.cpp 6 additions, 0 deletionslib/AST/DeclBase.cpp
- lib/CodeGen/CodeGenModule.cpp 1 addition, 1 deletionlib/CodeGen/CodeGenModule.cpp
- lib/Frontend/CompilerInstance.cpp 5 additions, 0 deletionslib/Frontend/CompilerInstance.cpp
- lib/Frontend/CompilerInvocation.cpp 6 additions, 0 deletionslib/Frontend/CompilerInvocation.cpp
- lib/Lex/ModuleMap.cpp 30 additions, 30 deletionslib/Lex/ModuleMap.cpp
- lib/Lex/PPLexerChange.cpp 16 additions, 3 deletionslib/Lex/PPLexerChange.cpp
- lib/Lex/PPMacroExpansion.cpp 1 addition, 1 deletionlib/Lex/PPMacroExpansion.cpp
- lib/Parse/Parser.cpp 7 additions, 1 deletionlib/Parse/Parser.cpp
- lib/Sema/Sema.cpp 1 addition, 0 deletionslib/Sema/Sema.cpp
- lib/Sema/SemaDecl.cpp 36 additions, 14 deletionslib/Sema/SemaDecl.cpp
Loading
Please register or sign in to comment