view gcc/testsuite/g++.dg/cpp0x/decltype75.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 2b5abeee2509
children
line wrap: on
line source

// PR c++/69694
// This is a reduced version of decltype74.C.
// { dg-do compile { target c++11 } }

template<typename... Ts> using void_t = void;

extern void *declval_void;

template<typename, typename> struct Fun { };

template<typename Desc>
struct Fun<Desc, void_t<decltype (declval_void = Desc::name)>>
{
  void fun();
};

struct Tag { static constexpr void* name = 0; };

template<typename> void a()
{
  Fun<Tag, void>{}.fun();
}

void b() { a<int>(); }