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