https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67100
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-08-03 CC| |trippels at gcc dot gnu.org Known to work| |5.2.0, 6.0 Ever confirmed|0 |1 Known to fail| |4.9.3 --- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 tmp % cat te.ii template <typename _Tp, _Tp...> struct A {}; template <char... chars> using _tstring = A<char, chars...>; template <typename T, T... chars> _tstring<chars...> operator""_tstr(); template <class, class, class> struct Dispatcher; template <class Caller, class Me> struct Dispatcher<Caller, decltype("go_up"_tstr), Me> { template <class> decltype(0) operator()(); }; int main() { Dispatcher<void, decltype("go_up"_tstr), void>(); } markus@x4 tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.9.3/g++ -std=c++14 te.ii te.ii: In instantiation of ‘struct Dispatcher<void, A<char, 'g', 'o', '_', 'u', 'p'>, void>’: te.ii:9:61: required from here te.ii:6:36: internal compiler error: in type_dependent_expression_p, at cp/pt.c:21026