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?)