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

            Bug ID: 110617
           Summary: RFE: Add a diagnostic-only variant of nonnull
                    attribute
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xry111 at gcc dot gnu.org
  Target Milestone: ---

Currently nonnull serves as both a diagnostic attribute and an optimization
attribute.  But sometimes we want only the effect for diagnostic, but not the
effect for code generation.

For example, Glibc developers implements many functions as "crash the program
immediately if an unexpected NULL pointer is passed" [1].  So it would be
useful to make the potential crash detectable via -Wnonnull and/or
-Wanalyzer-null-argument.  However they don't like the nonnull attribute on the
function prototype, because the nonnull attribute may cause the optimizer to
break their "immediately crash" design [2].

I'm not sure how to name this variant of nonnull precisely. (Maybe "hate_null
or something?)

Reply via email to