// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s // expected-no-diagnostics namespace OrderWithStaticMember { struct A { template int g(T**, int=0) { return 0; } template static int g(T*) { return 1; } }; void f() { A a; int **p; a.g(p); } } #if __cplusplus >= 201103L namespace OperatorWithRefQualifier { struct A { }; template struct B { template int &operator*(R&) &&; }; template float &operator*(T&&, R&); void test() { A a; B b; float &ir = b * a; int &ir2 = B() * a; } } namespace PR17075 { template struct V {}; struct S { template S &operator>>(T &t) = delete; }; template S &operator>>(S &s, V &v); void f(S s, V v) { s >> v; } } #endif