re PR c++/53401 ([C++11] internal compiler error: Segmentation fault on infinite argument deduction of constexpr templates)
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53401 * g++.dg/cpp0x/decltype64.C: New. From-SVN: r236581
This commit is contained in:
parent
a25a8058d5
commit
e4b7111409
2 changed files with 37 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/53401
|
||||
* g++.dg/cpp0x/decltype64.C: New.
|
||||
|
||||
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
|
||||
|
||||
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add fp16 tests.
|
||||
|
|
32
gcc/testsuite/g++.dg/cpp0x/decltype64.C
Normal file
32
gcc/testsuite/g++.dg/cpp0x/decltype64.C
Normal file
|
@ -0,0 +1,32 @@
|
|||
// PR c++/53401
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
template<int I>
|
||||
struct index
|
||||
{};
|
||||
|
||||
constexpr int recursive_impl(index<0u>)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
template<int N>
|
||||
constexpr auto recursive_impl(index<N>)
|
||||
-> decltype(recursive_impl(index<N - 1>())) // { dg-error "depth" }
|
||||
{
|
||||
return recursive_impl(index<N - 1>());
|
||||
}
|
||||
|
||||
template<int N>
|
||||
constexpr auto recursive()
|
||||
-> decltype(recursive_impl(index<N>()))
|
||||
{
|
||||
return recursive_impl(index<N>());
|
||||
}
|
||||
|
||||
void f(int i)
|
||||
{
|
||||
recursive<1>(); // { dg-message "from here" }
|
||||
}
|
||||
|
||||
// { dg-prune-output "compilation terminated" }
|
Loading…
Add table
Reference in a new issue