[Bug c/83162] New: x86-64 -Wclobbered issuing more false alarms (regression)
eggert at gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Nov 25 18:01:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83162
Bug ID: 83162
Summary: x86-64 -Wclobbered issuing more false alarms
(regression)
Product: gcc
Version: 7.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: eggert at gnu dot org
Target Milestone: ---
Created attachment 42717
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42717&action=edit
Test case for "gcc -O2 -S -Wclobbered" on x86-64
When building GNU Emacs we're finding that -Wclobbered is now issuing so many
false alarms that I think we will turn it off in more modules. I ran into this
problem again today, and narrowed it down to the attached program simplified
from Emacs. Compile and run it with:
gcc -O2 -S -Wclobbered clobbered.c
and GCC outputs:
clobbered.c: In function ‘module_vec_set’:
clobbered.c:22:29: warning: argument ‘vec’ might be clobbered by ‘longjmp’ or
‘vfork’ [-Wclobbered]
module_vec_set (Lisp_Object vec, long i, Lisp_Object val)
^~~
clobbered.c:22:54: warning: argument ‘val’ might be clobbered by ‘longjmp’ or
‘vfork’ [-Wclobbered]
module_vec_set (Lisp_Object vec, long i, Lisp_Object val)
^~~
Both diagnostics are bogus, since _setjmp's caller immediately returns if
_setjmp returns nonzero.
I am using gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2) on x86-64. I do not
observe the problem with gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), so it is
a regression.
Also see Bug 21161, Bug 48968, Bug 54561, Bug 61118, and Bug 65041. This
particular test case appears to be new though, as it is a regression.
More information about the Gcc-bugs
mailing list