[Modules TS] Module ownership semantics for redeclarations.
When declaring an entity in the "purview" of a module, it's never a redeclaration of an entity in the purview of a default module or in no module ("in the global module"). Don't consider those other declarations as possible redeclaration targets if they're not visible, and reject any cases where we pick a prior visible declaration that violates this rule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@315251 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Decl.h 6 additions, 4 deletionsinclude/clang/AST/Decl.h
- include/clang/AST/DeclBase.h 4 additions, 0 deletionsinclude/clang/AST/DeclBase.h
- include/clang/Basic/DiagnosticSemaKinds.td 3 additions, 0 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Sema/Lookup.h 22 additions, 3 deletionsinclude/clang/Sema/Lookup.h
- include/clang/Sema/Sema.h 29 additions, 9 deletionsinclude/clang/Sema/Sema.h
- lib/AST/Decl.cpp 13 additions, 3 deletionslib/AST/Decl.cpp
- lib/AST/DeclBase.cpp 2 additions, 3 deletionslib/AST/DeclBase.cpp
- lib/AST/DeclCXX.cpp 1 addition, 1 deletionlib/AST/DeclCXX.cpp
- lib/Sema/SemaDecl.cpp 69 additions, 16 deletionslib/Sema/SemaDecl.cpp
- lib/Sema/SemaDeclCXX.cpp 20 additions, 11 deletionslib/Sema/SemaDeclCXX.cpp
- lib/Sema/SemaDeclObjC.cpp 16 additions, 12 deletionslib/Sema/SemaDeclObjC.cpp
- lib/Sema/SemaExprMember.cpp 1 addition, 2 deletionslib/Sema/SemaExprMember.cpp
- lib/Sema/SemaLookup.cpp 29 additions, 1 deletionlib/Sema/SemaLookup.cpp
- lib/Sema/SemaOpenMP.cpp 1 addition, 1 deletionlib/Sema/SemaOpenMP.cpp
- lib/Sema/SemaTemplate.cpp 8 additions, 5 deletionslib/Sema/SemaTemplate.cpp
- lib/Sema/SemaTemplateInstantiateDecl.cpp 10 additions, 7 deletionslib/Sema/SemaTemplateInstantiateDecl.cpp
- test/CXX/modules-ts/basic/basic.def.odr/p6/global-vs-module.cpp 55 additions, 0 deletions...XX/modules-ts/basic/basic.def.odr/p6/global-vs-module.cpp
- test/CXX/modules-ts/basic/basic.def.odr/p6/module-vs-global.cpp 19 additions, 0 deletions...XX/modules-ts/basic/basic.def.odr/p6/module-vs-global.cpp
- test/CXX/modules-ts/basic/basic.def.odr/p6/module-vs-module.cpp 44 additions, 0 deletions...XX/modules-ts/basic/basic.def.odr/p6/module-vs-module.cpp
- test/SemaCXX/modules-ts.cppm 1 addition, 1 deletiontest/SemaCXX/modules-ts.cppm
Loading
Please register or sign in to comment