152
|
1 // PR c++/69694
|
|
2 // This is a reduced version of decltype74.C.
|
|
3 // { dg-do compile { target c++11 } }
|
|
4
|
|
5 template<typename... Ts> using void_t = void;
|
|
6
|
|
7 extern void *declval_void;
|
|
8
|
|
9 template<typename, typename> struct Fun { };
|
|
10
|
|
11 template<typename Desc>
|
|
12 struct Fun<Desc, void_t<decltype (declval_void = Desc::name)>>
|
|
13 {
|
|
14 void fun();
|
|
15 };
|
|
16
|
|
17 struct Tag { static constexpr void* name = 0; };
|
|
18
|
|
19 template<typename> void a()
|
|
20 {
|
|
21 Fun<Tag, void>{}.fun();
|
|
22 }
|
|
23
|
|
24 void b() { a<int>(); }
|