http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59730
Bug ID: 59730 Summary: ICE: in type_dependent_expression_p, at cp/pt.c:19969 Product: gcc Version: 4.8.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: octoploid at yandex dot com markus@x4 /tmp % cat test.ii template <typename> void declval(); template <typename> void forward(); template <typename> class D; template <typename _Functor, typename... _Bound_args> class D <_Functor(_Bound_args...)> { template <typename... _Args, decltype(declval<_Functor>)> void operator()(...) { 0(forward<_Args>...); } }; markus@x4 /tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.3/g++ -std=c++11 -O0 -c test.ii test.ii: In member function ‘void D<_Functor(_Bound_args ...)>::operator()(...)’: test.ii:8:24: internal compiler error: in type_dependent_expression_p, at cp/pt.c:19969 0(forward<_Args>...); ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. markus@x4 /tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3/g++ -std=c++11 -O0 -c test.ii test.ii: In member function ‘void D<_Functor(_Bound_args ...)>::operator()(...)’: test.ii:8:24: internal compiler error: in type_dependent_expression_p, at cp/pt.c:19496 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. markus@x4 /tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.9.0/g++ -std=c++11 -O0 -c test.ii markus@x4 /tmp %