On 6/6/19 2:01 AM, Martin Liška wrote:
> Hi.
> 
> The patch is about addition of warn_unused_attribute for malloc-like function.
> 
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
> 
> Ready to be installed?
> Thanks,
> Martin
> 
> gcc/ChangeLog:
> 
> 2019-06-06  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.
> 
> gcc/testsuite/ChangeLog:
> 
> 2019-06-06  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.
OK.

Any thoughts on whether or not we'd want to IPA propagate this attribute
like we do for the malloc attribute?

jeff
> ---

Reply via email to