* [Bug c/102867] Waddress complaint in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
@ 2021-10-21 4:55 ` amodra at gmail dot com
2021-10-21 5:07 ` [Bug c/102867] [12 Regression] " pinskia at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: amodra at gmail dot com @ 2021-10-21 4:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
--- Comment #1 from Alan Modra <amodra at gmail dot com> ---
Created attachment 51641
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51641&action=edit
preprocessed source
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] Waddress complaint in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
2021-10-21 4:55 ` [Bug c/102867] " amodra at gmail dot com
@ 2021-10-21 5:07 ` pinskia at gcc dot gnu.org
2021-10-21 6:32 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-10-21 5:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Waddress complaint in |[12 Regression] Waddress
|readelf.c |complaint in readelf.c
Target Milestone|--- |12.0
Keywords| |diagnostic
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] Waddress complaint in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
2021-10-21 4:55 ` [Bug c/102867] " amodra at gmail dot com
2021-10-21 5:07 ` [Bug c/102867] [12 Regression] " pinskia at gcc dot gnu.org
@ 2021-10-21 6:32 ` rguenth at gcc dot gnu.org
2021-10-21 6:58 ` amodra at gmail dot com
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-10-21 6:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2021-10-21
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. I wonder if it is possible to omit the warning from chained
conditions that are from the same macro expansion. That is, warn when
the macro is just
#define SECTION_NAME_VALID(X) ((X) != NULL)
but not when there's additional conditions on it.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] Waddress complaint in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
` (2 preceding siblings ...)
2021-10-21 6:32 ` rguenth at gcc dot gnu.org
@ 2021-10-21 6:58 ` amodra at gmail dot com
2021-10-21 16:16 ` msebor at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: amodra at gmail dot com @ 2021-10-21 6:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
--- Comment #3 from Alan Modra <amodra at gmail dot com> ---
Not that I'm really complaining about this, note also that the error message
referencing "filedata->section_headers + (sizetype)((long unsigned int)i * 80)"
is a little bit too much of compiler internal representation leaking out.
Nowhere in the source is such an expression used. It's simply
"filedata->section_headers + i".
BTW, the warnings can be avoided by converting the readelf.c macros to inline
functions.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] Waddress complaint in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
` (3 preceding siblings ...)
2021-10-21 6:58 ` amodra at gmail dot com
@ 2021-10-21 16:16 ` msebor at gcc dot gnu.org
2021-10-23 23:51 ` [Bug c/102867] [12 Regression] -Waddress from macro expansion " msebor at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-10-21 16:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> ---
The warning for macros was most likely inadvertently enabled in the change for
pr102103. In hindsight, I'm guessing it's what triggered the instance in Glibc
(since fixed):
https://sourceware.org/pipermail/libc-alpha/2021-September/131241.html
and I think it might have also been what prompted the change below (I meant to
follow up there but got busy with other things):
https://gcc.gnu.org/pipermail/gcc-patches/2021-October/580786.html
I have a follow-on patch out for review for pr33925. I'll look into the macro
suppression at the same time, although I'm not too keen on that idea in general
if it can be easily avoided in user code (e.g., inlining). I'd rather get away
from it if it's not too painful.
The poor format of the expression in the warning is an independent issue worth
addressing separately.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] -Waddress from macro expansion in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
` (4 preceding siblings ...)
2021-10-21 16:16 ` msebor at gcc dot gnu.org
@ 2021-10-23 23:51 ` msebor at gcc dot gnu.org
2021-11-19 16:48 ` cvs-commit at gcc dot gnu.org
2021-11-19 16:50 ` msebor at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-10-23 23:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[12 Regression] Waddress |[12 Regression] -Waddress
|complaint in readelf.c |from macro expansion in
| |readelf.c
Keywords| |patch
--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
Patch: https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582415.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] -Waddress from macro expansion in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
` (5 preceding siblings ...)
2021-10-23 23:51 ` [Bug c/102867] [12 Regression] -Waddress from macro expansion " msebor at gcc dot gnu.org
@ 2021-11-19 16:48 ` cvs-commit at gcc dot gnu.org
2021-11-19 16:50 ` msebor at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-19 16:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Sebor <msebor@gcc.gnu.org>:
https://gcc.gnu.org/g:16137fbb9256ef365dd498d39024eb33de1a4cd8
commit r12-5410-g16137fbb9256ef365dd498d39024eb33de1a4cd8
Author: Martin Sebor <msebor@redhat.com>
Date: Fri Nov 19 09:44:31 2021 -0700
Restore ancient -Waddress for weak symbols [PR33925].
Resolves:
PR c/33925 - gcc -Waddress lost some useful warnings
PR c/102867 - -Waddress from macro expansion in readelf.c
gcc/c-family/ChangeLog:
PR c++/33925
PR c/102867
* c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
and improve handling tof defined symbols.
gcc/c/ChangeLog:
PR c++/33925
PR c/102867
* c-typeck.c (maybe_warn_for_null_address): Suppress warnings for
code resulting from macro expansion.
gcc/cp/ChangeLog:
PR c++/33925
PR c/102867
* typeck.c (warn_for_null_address): Suppress warnings for code
resulting from macro expansion.
gcc/ChangeLog:
PR c++/33925
PR c/102867
* doc/invoke.texi (-Waddress): Update.
gcc/testsuite/ChangeLog:
PR c++/33925
PR c/102867
* g++.dg/warn/Walways-true-2.C: Adjust to avoid a valid warning.
* c-c++-common/Waddress-5.c: New test.
* c-c++-common/Waddress-6.c: New test.
* g++.dg/warn/Waddress-7.C: New test.
* gcc.dg/Walways-true-2.c: Adjust to avoid a valid warning.
* gcc.dg/weak/weak-3.c: Expect a warning.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/102867] [12 Regression] -Waddress from macro expansion in readelf.c
2021-10-21 4:53 [Bug c/102867] New: Waddress complaint in readelf.c amodra at gmail dot com
` (6 preceding siblings ...)
2021-11-19 16:48 ` cvs-commit at gcc dot gnu.org
@ 2021-11-19 16:50 ` msebor at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-11-19 16:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102867
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 9+ messages in thread