https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83756
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|gcc (mingw64) 7.2.0 ICE in |gcc ICE in gimplify_expr on
|gimplify_expr on |boost::call_once
|boost::call_once |(-fms-extensions)
Keywords| |ice-on-valid-code
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced testcase:
template <class Fp, class A0, class ...Args> inline auto invoke(Fp && f, A0
&& a0, Args && ...args) -> decltype(((*(a0)).*f)((args)...)) { }
template <class Fp, class A0> inline auto invoke(Fp && f, A0 && a0) ->
decltype((*(a0)).*f) {
return (*(a0)).*f;
}
struct A {
void doA();
void doB() { }
};
void A::doA() {
invoke(&A::doB, this);
}