[modules] Generalize the workaround for multiple ambiguous definitions of
internal linkage entities in different modules from r250884 to apply to all names, not just function names. This is really awkward: we don't want to merge internal-linkage symbols from separate modules, because they might not actually be defining the same entity. But we don't want to reject programs that use such an ambiguous symbol if those internal-linkage symbols are in fact equivalent. For now, we're resolving the ambiguity by picking one of the equivalent definitions as an extension. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252063 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/DiagnosticSemaKinds.td 6 additions, 3 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Sema/Sema.h 9 additions, 0 deletionsinclude/clang/Sema/Sema.h
- lib/Sema/SemaLookup.cpp 24 additions, 3 deletionslib/Sema/SemaLookup.cpp
- lib/Sema/SemaOverload.cpp 39 additions, 26 deletionslib/Sema/SemaOverload.cpp
- test/Modules/Inputs/libstdcxx-ambiguous-internal/a.h 1 addition, 0 deletionstest/Modules/Inputs/libstdcxx-ambiguous-internal/a.h
- test/Modules/Inputs/libstdcxx-ambiguous-internal/d.h 1 addition, 0 deletionstest/Modules/Inputs/libstdcxx-ambiguous-internal/d.h
- test/Modules/libstdcxx-ambiguous-internal.cpp 7 additions, 1 deletiontest/Modules/libstdcxx-ambiguous-internal.cpp
Loading
Please register or sign in to comment