annotate gcc/testsuite/g++.dg/cpp0x/decltype28.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // PR c++/44175
kono
parents:
diff changeset
2 // { dg-do compile { target c++11 } }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 template <bool, class T> struct enable_if { };
kono
parents:
diff changeset
5 template <class T> struct enable_if <true, T> { typedef T type; };
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 template <class F, int N>
kono
parents:
diff changeset
8 void ft (F f, typename enable_if<N!=0, int>::type) {}
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 template< class F, int N >
kono
parents:
diff changeset
11 decltype(ft<F, N-1> (F(), 0)) // { dg-error "depth" }
kono
parents:
diff changeset
12 ft (F f, typename enable_if<N==0, int>::type) {}
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 int main() {
kono
parents:
diff changeset
15 ft<struct a*, 2> (0, 0); // { dg-message "from here" }
kono
parents:
diff changeset
16 }
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 // { dg-prune-output "compilation terminated" }