https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83164
--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> --- Does it work if you remove the verification || !types_compatible_p (rhs1_type, rhs2_type) from tree-cfg.c? useless_type_conversion_p says that converting a function pointer to char* is useless (but the reverse isn't), so we can't guarantee types_compatible_p.