Hi,
I recently run into an ICE by compiling phoenix3 with gcc-4.2. It seems this particular can not handle proto::detail::poly_function_traits properly.
the problem is the default Switch template initialization ... by replacing std::size_t Switch = sizeof(test_poly_function<Fun>(0,0)) by typename Switch = mpl::size_t<sizeof(test_poly_function<Fun>(0,0))> the ICE is gone (the specialisations are adapted as well.
The patch is attached.
Best regards,
Thomas