aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp1y/auto-fn10.C
blob: 890cfda1205a6aa71f0e56f9ada8acc8fe9ad4d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// A template declared with auto should be declared with auto in an
// explicit instantiation or explicit specialization, too.
// { dg-do compile { target c++1y } }

template <class T>
auto f(T t) { return t; }

template<> auto f<int>(int);
template auto f<float>(float);
template<> auto f(int*);
template auto f(float*);

template<> short f<short>(short); // { dg-error "does not match" }
template char f<char>(char);	  // { dg-error "does not match" }
template<> short f(short*);	  // { dg-error "does not match" }
template char f(char*);		  // { dg-error "does not match" }