Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/template/dependent-name14.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/template/dependent-name14.C Mon May 25 07:50:57 2020 +0900 @@ -0,0 +1,38 @@ +// PR c++/90711 +// { dg-do compile { target c++11 } } + +namespace test { + void EXISTS(int); +} + +template<typename... ARGS> +struct stub_void { + typedef void type; +}; +template<typename... ARGS> +using stub_void_t = typename stub_void<ARGS...>::type; + +#if !defined(SUPPRESS) +template<typename O, typename = void> +struct has_to_string { + static constexpr bool value = false; +}; + +template<typename O> +struct has_to_string<O, stub_void_t<decltype(EXISTS(O{}))>> { + static constexpr bool value = true; +}; +#endif + +template<typename O, typename = void> +struct has_std_to_string { + static constexpr bool value = false; +}; + +template<typename O> +struct has_std_to_string<O, stub_void_t<decltype(test::EXISTS(O{}))>> { + static constexpr bool value = true; +}; + +static_assert (has_std_to_string<int>::value, ""); +