diff options
Diffstat (limited to 'test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp')
-rw-r--r-- | test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp b/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp index 63b3022..c7966ce 100644 --- a/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp +++ b/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp @@ -12,26 +12,26 @@ namespace test0 { namespace ns { void foo(); } // expected-note {{target of using declaration}} - int foo(); // expected-note {{conflicting declaration}} + int foo(void); // expected-note {{conflicting declaration}} using ns::foo; // expected-error {{target of using declaration conflicts with declaration already in scope}} } namespace test1 { namespace ns { void foo(); } // expected-note {{target of using declaration}} using ns::foo; //expected-note {{using declaration}} - int foo(); // expected-error {{declaration conflicts with target of using declaration already in scope}} + int foo(void); // expected-error {{declaration conflicts with target of using declaration already in scope}} } namespace test2 { namespace ns { void foo(); } // expected-note 2 {{target of using declaration}} void test0() { - int foo(); // expected-note {{conflicting declaration}} + int foo(void); // expected-note {{conflicting declaration}} using ns::foo; // expected-error {{target of using declaration conflicts with declaration already in scope}} } void test1() { using ns::foo; //expected-note {{using declaration}} - int foo(); // expected-error {{declaration conflicts with target of using declaration already in scope}} + int foo(void); // expected-error {{declaration conflicts with target of using declaration already in scope}} } } @@ -39,7 +39,7 @@ namespace test3 { namespace ns { void foo(); } // expected-note 2 {{target of using declaration}} class Test0 { void test() { - int foo(); // expected-note {{conflicting declaration}} + int foo(void); // expected-note {{conflicting declaration}} using ns::foo; // expected-error {{target of using declaration conflicts with declaration already in scope}} } }; @@ -47,7 +47,7 @@ namespace test3 { class Test1 { void test() { using ns::foo; //expected-note {{using declaration}} - int foo(); // expected-error {{declaration conflicts with target of using declaration already in scope}} + int foo(void); // expected-error {{declaration conflicts with target of using declaration already in scope}} } }; } @@ -56,7 +56,7 @@ namespace test4 { namespace ns { void foo(); } // expected-note 2 {{target of using declaration}} template <typename> class Test0 { void test() { - int foo(); // expected-note {{conflicting declaration}} + int foo(void); // expected-note {{conflicting declaration}} using ns::foo; // expected-error {{target of using declaration conflicts with declaration already in scope}} } }; @@ -64,16 +64,14 @@ namespace test4 { template <typename> class Test1 { void test() { using ns::foo; //expected-note {{using declaration}} - int foo(); // expected-error {{declaration conflicts with target of using declaration already in scope}} + int foo(void); // expected-error {{declaration conflicts with target of using declaration already in scope}} } }; } // 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); } // expected-note {{target of using declaration}} + namespace ns { void foo(int); } template <typename T> class Test0 { void test() { int foo(T); @@ -83,12 +81,11 @@ namespace test5 { template <typename T> class Test1 { void test() { - using ns::foo; // expected-note {{using declaration}} - int foo(T); // expected-error {{declaration conflicts with target of using declaration already in scope}} + using ns::foo; + int foo(T); } }; template class Test0<int>; - template class Test1<int>; // expected-note {{in instantiation of member function}} + template class Test1<int>; } - |