[Bug c++/86503] Segmentation fault signal terminated
zhonghao at pku dot org.cn
gcc-bugzilla@gcc.gnu.org
Thu Aug 9 01:22:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86503
--- Comment #3 from zhonghao at pku dot org.cn ---
(In reply to Richard Biener from comment #1)
> You run out of memory or stack. Try ulimit -s unlimited
I tried ulimit -s unlimited. This time, the error messages are as follows:
g++ -ftemplate-depth=1000000 test.cpp
test.cpp: In substitution of 'template<class F, int n> __typeof__ (ft<F, (n -
1)>(F(), 0)) ft(F, typename enable_if<(n != 0), int>::type) [with F =
main()::a*; int n = -999997]':
test.cpp:14:21: recursively required by substitution of 'template<class F,
int n> __typeof__ (ft<F, (n - 1)>(F(), 0)) ft(F, typename enable_if<(n != 0),
int>::type) [with F = main()::a*; int n = 1]'
test.cpp:14:21: required by substitution of 'template<class F, int n>
__typeof__ (ft<F, (n - 1)>(F(), 0)) ft(F, typename enable_if<(n != 0),
int>::type) [with F = main()::a*; int n = 2]'
test.cpp:18:30: required from here
test.cpp:14:21: fatal error: template instantiation depth exceeds maximum of
1000000 (use -ftemplate-depth= to increase the maximum)
typeof( ft< F, n-1 >( F(), 0 ) )
~~~~~~~~~~~~~~^~~~~~~~~~~~
compilation terminated.
More information about the Gcc-bugs
mailing list