https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101272
Bug ID: 101272
Summary: [12 Regression] error: ‘nonnull’ argument ‘message’
compared to NULL [-Werror=nonnull-compare] since
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
Target Milestone: ---
Seen in gdb package, the error is likely fine, but I'm curious why is it
visible since the mentioned revision?
$ cat gdb.ii
void internal_error(char);
struct compiled_regex {
compiled_regex(const char *) __attribute__((__nonnull__));
};
compiled_regex::compiled_regex(const char *message) {
(message != __null) ? 0 : (internal_error(0), 0);
}
$ g++ gdb.ii -c -Werror=nonnull-compare
gdb.ii: In constructor ‘compiled_regex::compiled_regex(const char*)’:
gdb.ii:6:23: error: ‘nonnull’ argument ‘message’ compared to NULL
[-Werror=nonnull-compare]
6 | (message != __null) ? 0 : (internal_error(0), 0);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors