[Bug middle-end/85955] ICE in fold_convert_loc, at fold-const.c:2408
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue May 29 10:31:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85955
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Component|c |middle-end
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine as well. We are gimplifying
3791 if (!update_call_from_tree (gsi, result))
3792 gimplify_and_update_call_from_tree (gsi, result);
3793 return true;
(gdb) p debug_generic_expr (result)
*sinx_3(D) = IMAGPART_EXPR <SAVE_EXPR <__builtin_cexpi (x_2(D))>>;, *cosx_4(D)
= REALPART_EXPR <SAVE_EXPR <__builtin_cexpi (x_2(D))>>;
and as part of that failing the store because of the arg mismatch. This is
because gimple_builtin_call_types_compatible_p uses useless_type_conversion_p
and double * and double ** do not require a conversion in GIMPLE.
More information about the Gcc-bugs
mailing list