Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/concepts/pr80471.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/concepts/pr80471.C Thu Oct 25 07:37:49 2018 +0900 @@ -0,0 +1,23 @@ +// PR c++/80471 +// { dg-do compile { target c++14 } } +// { dg-additional-options "-fconcepts" } + +template <class, class> +constexpr bool is_same = false; +template <class T> +constexpr bool is_same<T, T> = true; + +template<class T> +decltype(auto) f(T&& a){return a;} + +decltype(auto) g(auto&& a){return a;} + +auto z = [](auto&& a) -> decltype(auto) { return a; }; + +int main() +{ + int i; + static_assert(is_same< decltype(f(i)), int& >, ""); + static_assert(is_same< decltype(g(i)), int >, ""); + static_assert(is_same< decltype(z(i)), int& >, ""); +}