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

--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Fri Jun 10 17:38:19 2016
New Revision: 237314

URL: https://gcc.gnu.org/viewcvs?rev=237314&root=gcc&view=rev
Log:
PR c/71392 - SEGV calling integer overflow built-ins with a null pointer

gcc/ChangeLog:
2016-06-10  Martin Sebor  <mse...@redhat.com>

        PR c/71392
        * builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro.
        (ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same.
        * builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use
        them.
        (BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same.
        (BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same.
        (BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same.
        (BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same.
        (BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same.
        (BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same.
        (BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same.
        (BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW):

gcc/ada/ChangeLog:
2016-06-10  Martin Sebor  <mse...@redhat.com>

        PR c/71392
        * gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept
        the nonnull attribute in type-generic builtins.

gcc/c-family/ChangeLog:
2016-06-10  Martin Sebor  <mse...@redhat.com>

        PR c/71392
        * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
        the nonnull attribute in type-generic builtins.

gcc/lto/ChangeLog:
2016-06-10  Martin Sebor  <mse...@redhat.com>

        PR c/71392
        * gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
        attribute in type-generic builtins.

gcc/testsuite/ChangeLog:
2016-06-10  Martin Sebor  <mse...@redhat.com>

        PR c/71392
        * c-c++-common/builtin-arith-overflow-1.c: Add test cases.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/gcc-interface/utils.c
    trunk/gcc/builtin-attrs.def
    trunk/gcc/builtins.def
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/lto/ChangeLog
    trunk/gcc/lto/lto-lang.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/builtin-arith-overflow-1.c

Reply via email to