https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61591

--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
It appears that devirt changes
_4 = &this_1(D)->D.2680;
OBJ_TYPE_REF(_3;(struct top)_4->0) (_4);
into
_4 = &this_1(D)->D.2680;
__builtin_unreachable (_4);

but __builtin_unreachable shouldn't have any arguments!  Consequently, we fail
to sanitize this builtin call, because we call gimple_call_builtin_p on that
__builtin_unreachable (_4) stmt, but gimple_call_builtin_p checks
gimple_builtin_call_types_compatible_p and that is false, because the arguments
don't match.

So - is the __builtin_unreachable with an argument expected?

Reply via email to