Actually try to trigger the last diagnostic in the declaration-collision test case.

Surprisingly, we *do* diagnose one of them.  Since we don't really track scopes into
instantiation, this has to signal some kind of bug.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91063 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
John McCall 2009-12-10 21:17:25 +00:00
Родитель 505c882768
Коммит 35dfab9cb1
1 изменённых файлов: 9 добавлений и 4 удалений

Просмотреть файл

@ -69,9 +69,11 @@ namespace test4 {
};
}
// FIXME: we should be able to diagnose these, but we can't.
// FIXME: we should be able to diagnose both of these, but we can't.
// ...I'm actually not sure why we can diagnose either of them; it's
// probably a bug.
namespace test5 {
namespace ns { void foo(int); }
namespace ns { void foo(int); } // expected-note {{target of using declaration}}
template <typename T> class Test0 {
void test() {
int foo(T);
@ -81,9 +83,12 @@ namespace test5 {
template <typename T> class Test1 {
void test() {
using ns::foo;
int foo(T);
using ns::foo; // expected-note {{using declaration}}
int foo(T); // expected-error {{declaration conflicts with target of using declaration already in scope}}
}
};
template class Test0<int>;
template class Test1<int>; // expected-note {{in instantiation of member function}}
}