https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67100

--- Comment #1 from tower120 <tower120 at gmail dot com> ---
if change 

#define dispatch_forward_fn(fn_name, prefix) \
template<class Caller, class Me> \
struct Dispatcher<Caller, tstring(go_up), Me>{ /* Problem here tstring(go_up)
*/\
    template<class ...Args, class ...ArgsRef> \
    inline decltype(auto) operator() (ArgsRef&&... args) {\
        return 0; \
    } \
};



with:


#define dispatch_forward_fn(fn_name, prefix) \
template<class Caller, class Me> \
using H_##fn_name = tstring(fn_name); \
struct Dispatcher<Caller, H_##fn_name, Me>{ \
    template<class ...Args, class ...ArgsRef> \
    inline decltype(auto) operator() (ArgsRef&&... args) {\
        return 0; \
    } \
};

ICE does not occurs.

Reply via email to