From a703b16ba4c641e3e23f2630f9ae13d50fc9d7cf Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Wed, 24 Oct 2018 19:33:56 +0000 Subject: [PATCH] extend.texi (nonnull): List no-argument form. gcc/ChangeLog: * doc/extend.texi (nonnull): List no-argument form. Reference -fno-delete-null-pointer-checks and -fisolate-erroneous-paths-attribute. From-SVN: r265469 --- gcc/ChangeLog | 5 +++++ gcc/doc/extend.texi | 16 +++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f015eea444..1547b6f2754 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-24 Martin Sebor + + * doc/extend.texi (nonnull): List no-argument form. Reference + -fno-delete-null-pointer-checks and -fisolate-erroneous-paths-attribute. + 2018-10-24 Richard Biener * tree-ssa-sccvn.c (do_rpo_vn): Free rpo_state. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 34ecc4f8d14..25c821df776 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -3075,7 +3075,8 @@ including those that do not have an attribute suitable for disabling them individually. This attribute is supported mainly for the purpose of testing the compiler. -@item nonnull (@var{arg-index}, @dots{}) +@item nonnull +@itemx nonnull (@var{arg-index}, @dots{}) @cindex @code{nonnull} function attribute @cindex functions with non-null pointer arguments The @code{nonnull} attribute specifies that some function parameters should @@ -3092,10 +3093,15 @@ causes the compiler to check that, in calls to @code{my_memcpy}, arguments @var{dest} and @var{src} are non-null. If the compiler determines that a null pointer is passed in an argument slot marked as non-null, and the @option{-Wnonnull} option is enabled, a warning -is issued. The compiler may also choose to make optimizations based -on the knowledge that certain function arguments will never be null. - -If no argument index list is given to the @code{nonnull} attribute, +is issued. @xref{Warning Options}. Unless disabled by +the @option{-fno-delete-null-pointer-checks} option the compiler may +also perform optimizations based on the knowledge that certain function +arguments cannot be null. In addition, +the @option{-fisolate-erroneous-paths-attribute} option can be specified +to have GCC transform calls with null arguments to non-null functions +into traps. @xref{Optimize Options}. + +If no @var{arg-index} is given to the @code{nonnull} attribute, all pointer arguments are marked as non-null. To illustrate, the following declaration is equivalent to the previous example: -- 2.30.2