Home | History | Annotate | Download | only in SemaCXX
      1 // RUN: %clang_cc1 -fsyntax-only -verify -Wall %s
      2 
      3 namespace test1 {
      4   static void f() {} // expected-warning {{is not needed and will not be emitted}}
      5   static void f();
      6   template <typename T>
      7   void foo() {
      8     f();
      9   }
     10 }
     11 
     12 namespace test2 {
     13   static void f() {}
     14   static void f();
     15   static void g() { f(); }
     16   void h() { g(); }
     17 }
     18 
     19 namespace test3 {
     20   static void f();
     21   template<typename T>
     22   static void g() {
     23     f();
     24   }
     25   static void f() {
     26   }
     27   void h() {
     28     g<int>();
     29   }
     30 }
     31 
     32 namespace test4 {
     33   static void f();
     34   static void f();
     35   template<typename T>
     36   static void g() {
     37     f();
     38   }
     39   static void f() {
     40   }
     41   void h() {
     42     g<int>();
     43   }
     44 }
     45 
     46 namespace test4 {
     47   static void func();
     48   void bar() {
     49     void func();
     50     func();
     51   }
     52   static void func() {}
     53 }
     54