]> granicus.if.org Git - clang/commit
[Sema][NFC] Add more tests for the behavior of argument-dependent name lookup
authorBruno Ricci <riccibrun@gmail.com>
Mon, 22 Apr 2019 11:40:31 +0000 (11:40 +0000)
committerBruno Ricci <riccibrun@gmail.com>
Mon, 22 Apr 2019 11:40:31 +0000 (11:40 +0000)
commit61719b50c5d25ce03abdb9a9ed9e2ccb57496069
tree3ff1e9de9a8ce6fd8e87007f6fe1ef229761f79e
parent4ea8f1222bdea2cad4fb56224c990871d7d0dd0c
[Sema][NFC] Add more tests for the behavior of argument-dependent name lookup

The goal here is to exercise each rule in [basic.lookup.argdep] at least once.
These new tests expose what I believe are 2 issues:

1. CWG 1691 needs to be implemented (p2:  [...] Its associated namespaces are
   the innermost enclosing namespaces of its associated classes [...]) The
   corresponding tests are adl_class_type::X2 and adl_class_type::X5.

2. The end of paragraph 2 ([...] Additionally, if the aforementioned set of
   overloaded functions is named with a template-id, its associated classes
   and namespaces also include those of its type template-arguments and its
   template template-arguments.) is not implemented. Closely related, the
   restriction on non-dependent parameter types in this same paragraph needs
   to be removed. The corresponding tests are in adl_overload_set (both issues
   are from CWG 997).

Differential Revision: https://reviews.llvm.org/D60570

Reviewed By: riccibruno, Quuxplusone

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@358881 91177308-0d34-0410-b5e6-96231b3b80d8
test/CXX/basic/basic.lookup/basic.lookup.argdep/p2-associated-namespaces-classes.cpp [new file with mode: 0644]
test/CXX/basic/basic.lookup/basic.lookup.argdep/p2-inline-namespace.cpp [new file with mode: 0644]
test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp
test/CXX/basic/basic.lookup/basic.lookup.argdep/p3.cpp
test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp