forked from OSchip/llvm-project
30 lines
539 B
C++
30 lines
539 B
C++
// RUN: clang-cc -fsyntax-only -verify %s
|
|
// PR5336
|
|
template<typename FromCl>
|
|
struct isa_impl_cl {
|
|
template<class ToCl>
|
|
static void isa(const FromCl &Val) { }
|
|
};
|
|
|
|
template<class X, class Y>
|
|
void isa(const Y &Val) { return isa_impl_cl<Y>::template isa<X>(Val); }
|
|
|
|
class Value;
|
|
void f0(const Value &Val) { isa<Value>(Val); }
|
|
|
|
// Implicit template-ids.
|
|
template<typename T>
|
|
struct X0 {
|
|
template<typename U>
|
|
void f1();
|
|
|
|
template<typename U>
|
|
void f2(U) {
|
|
f1<U>();
|
|
}
|
|
};
|
|
|
|
void test_X0_int(X0<int> xi, float f) {
|
|
xi.f2(f);
|
|
}
|