-
- Downloads
PR c/78673 - sprintf missing attribute nonnull on destination argument
PR c/78673 - sprintf missing attribute nonnull on destination argument PR c/17308 - nonnull attribute not as useful as it could be gcc/ChangeLog: PR c/17308 * builtin-attrs.def (ATTR_NONNULL_1_1, ATTR_NONNULL_1_2): Defined. (ATTR_NONNULL_1_3, ATTR_NONNULL_1_4, ATTR_NONNULL_1_5): Same. (ATTR_NOTHROW_NONNULL_1_1, ATTR_NOTHROW_NONNULL_1_2): Same. (ATTR_NOTHROW_NONNULL_1_3, ATTR_NOTHROW_NONNULL_1_4): Same. (ATTR_NOTHROW_NONNULL_1_5): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_1_2): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_2_0): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_2_3): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_3_0): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_3_4): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_4_0): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_4_5): Same. * builtins.c (validate_arg): Add argument. Treat null pointers passed to nonnull arguments as invalid. (validate_arglist): Same. * builtins.def (fprintf, fprintf_unlocked): Add nonnull attribute. (printf, printf_unlocked, sprintf. vfprintf, vsprintf): Same. (__sprintf_chk, __vsprintf_chk, __fprintf_chk, __vfprintf_chk): Same. * calls.c (get_nonnull_ags, maybe_warn_null_arg): New functions. (initialize_argument_information): Diagnose null pointers passed to arguments declared nonnull. * calls.h (get_nonnull_args): Declared. gcc/c-family/ChangeLog: PR c/17308 * c-common.c (check_nonnull_arg): Disable when optimization is enabled. gcc/testsuite/ChangeLog: PR c/17308 * gcc.dg/builtins-nonnull.c: New test. * gcc.dg/nonnull-4.c: New test. From-SVN: r243661
Showing
- gcc/ChangeLog 26 additions, 0 deletionsgcc/ChangeLog
- gcc/builtin-attrs.def 76 additions, 1 deletiongcc/builtin-attrs.def
- gcc/builtins.c 23 additions, 8 deletionsgcc/builtins.c
- gcc/builtins.def 11 additions, 10 deletionsgcc/builtins.def
- gcc/c-family/ChangeLog 6 additions, 0 deletionsgcc/c-family/ChangeLog
- gcc/c-family/c-common.c 4 additions, 1 deletiongcc/c-family/c-common.c
- gcc/calls.c 95 additions, 0 deletionsgcc/calls.c
- gcc/calls.h 1 addition, 0 deletionsgcc/calls.h
- gcc/testsuite/ChangeLog 6 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.dg/builtins-nonnull.c 239 additions, 0 deletionsgcc/testsuite/gcc.dg/builtins-nonnull.c
- gcc/testsuite/gcc.dg/nonnull-4.c 79 additions, 0 deletionsgcc/testsuite/gcc.dg/nonnull-4.c
Loading
Please register or sign in to comment