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

--- Comment #13 from Martin Liška <marxin at gcc dot gnu.org> ---
Author: marxin
Date: Fri Jun  7 05:33:11 2019
New Revision: 272028

URL: https://gcc.gnu.org/viewcvs?rev=272028&root=gcc&view=rev
Log:
Add warn_unused_result for malloc-like functions (PR tree-optimization/78902).

2019-06-07  Martin Liska  <mli...@suse.cz>

        PR tree-optimization/78902
        * builtin-attrs.def (ATTR_WARN_UNUSED_RESULT): New.
        (ATTR_MALLOC_NOTHROW_LEAF_LIST): Remove.
        (ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
        (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
        (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): Remove.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Remove.
        (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LIST): New.
        (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): New.
        (ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
        (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): Remove.
        (ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
        (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST):  Remove.
        (ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST):
        New.
        (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Remove.
        (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): New.
        (ATTR_MALLOC_NOTHROW_NONNULL): Remove.
        (ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
        (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
        (ATTR_MALLOC_NOTHROW_NONNULL_LEAF): Remove.
        (ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
        (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
        * builtins.def (BUILT_IN_ALIGNED_ALLOC): Change to use
        warn_unused_result attribute.
        (BUILT_IN_STRDUP): Likewise.
        (BUILT_IN_STRNDUP): Likewise.
        (BUILT_IN_ALLOCA): Likewise.
        (BUILT_IN_CALLOC): Likewise.
        (BUILT_IN_MALLOC): Likewise.
        (BUILT_IN_REALLOC): Likewise.
2019-06-07  Martin Liska  <mli...@suse.cz>

        PR tree-optimization/78902
        * c-c++-common/asan/alloca_loop_unpoisoning.c: Use result
        of __builtin_alloca.
        * c-c++-common/asan/pr88619.c: Likewise.
        * g++.dg/overload/using2.C: Likewise for malloc.
        * gcc.dg/attr-alloc_size-5.c: Add new dg-warning.
        * gcc.dg/nonnull-3.c: Use result of __builtin_strdup.
        * gcc.dg/pr43643.c: Likewise.
        * gcc.dg/pr59717.c: Likewise for calloc.
        * gcc.dg/torture/pr71816.c: Likewise.
        * gcc.dg/tree-ssa/pr78886.c: Likewise.
        * gcc.dg/tree-ssa/pr79697.c: Likewise.
        * gcc.dg/pr78902.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/pr78902.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtin-attrs.def
    trunk/gcc/builtins.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/asan/alloca_loop_unpoisoning.c
    trunk/gcc/testsuite/c-c++-common/asan/pr88619.c
    trunk/gcc/testsuite/g++.dg/overload/using2.C
    trunk/gcc/testsuite/gcc.dg/attr-alloc_size-5.c
    trunk/gcc/testsuite/gcc.dg/nonnull-3.c
    trunk/gcc/testsuite/gcc.dg/pr43643.c
    trunk/gcc/testsuite/gcc.dg/pr59717.c
    trunk/gcc/testsuite/gcc.dg/torture/pr71816.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr78886.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr79697.c

Reply via email to