[Bug c++/67100] ICE(in type_dependent_expression_p) on macro function + user defined literal

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 3 13:34:00 GMT 2015


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


More information about the Gcc-bugs mailing list