1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
3 template<typename T
> struct A
{ };
6 template<typename T
> A
<T
> f0(T
* ptr
);
8 void test_f0_bullet1() {
11 const int arr1
[] = { 1, 2, 3, 4, 5 };
12 A
<const int> a1
= f0(arr1
);
19 void test_f0_bullet2() {
20 A
<int(int, int)> a0
= f0(g0
);
21 A
<float(float)> a1
= f0(g1
);
28 template<typename T
> A
<T
> f1(T
);
30 void test_f1_bullet3() {
31 A
<X
> a0
= f1(get_X());