[Bug c/59708] clang-compatible checked arithmetic builtins
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 5 11:59:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59708
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #33855|0 |1
is obsolete| |
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 33891
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33891&action=edit
gcc5-pr59708-wip2.patch
Updated patch, this time __builtin_umul{,l,ll}_overflow should work fully, and
with the exception of widest type ({,un}signed __int128 on targets that do
support that, {,un}signed long long otherwise) also the type-generic variants.
What is still unhandled is in the widest type signed +- signed -> unsigned,
unsigned +- unsigned -> signed and mixed sign (either between operands, or
between operand and result) multiplication in the widest type.
More information about the Gcc-bugs
mailing list