| // RUN: %clang_cc1 -fsyntax-only -verify -Wall %s | |
| namespace test1 { | |
| static void f() {} // expected-warning {{is not needed and will not be emitted}} | |
| static void f(); | |
| template <typename T> | |
| void foo() { | |
| f(); | |
| } | |
| } | |
| namespace test2 { | |
| static void f() {} | |
| static void f(); | |
| static void g() { f(); } | |
| void h() { g(); } | |
| } | |
| namespace test3 { | |
| static void f(); | |
| template<typename T> | |
| static void g() { | |
| f(); | |
| } | |
| static void f() { | |
| } | |
| void h() { | |
| g<int>(); | |
| } | |
| } | |
| namespace test4 { | |
| static void f(); | |
| static void f(); | |
| template<typename T> | |
| static void g() { | |
| f(); | |
| } | |
| static void f() { | |
| } | |
| void h() { | |
| g<int>(); | |
| } | |
| } | |
| namespace test4 { | |
| static void func(); | |
| void bar() { | |
| void func(); | |
| func(); | |
| } | |
| static void func() {} | |
| } |