// RUN: %clang_cc1 -fsyntax-only -verify -Wunneeded-member-function -Wno-unused-template %s

namespace {
  class A {
    void g() {} // expected-warning {{member function 'g' is not needed and will not be emitted}}
    template <typename T> void gt(T) {}
    template <> void gt<int>(int) {} // expected-warning {{member function 'gt<int>' is not needed and will not be emitted}}
    template <> void gt(float) {}    // expected-warning {{member function 'gt<float>' is not needed and will not be emitted}}

    template <typename T>
    void foo() {
      g();
      gt(0);
      gt(0.0f);
      gt(0.0);
    }
  };
  template void A::gt(double); // no-warning
}
