[Bug c/87153] New: Confusing / Incorrect clobber warning with ISRA / -Wclobber
chris at bubblescope dot net
gcc-bugzilla@gcc.gnu.org
Thu Aug 30 10:07:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87153
Bug ID: 87153
Summary: Confusing / Incorrect clobber warning with ISRA /
-Wclobber
Product: gcc
Version: 8.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: chris at bubblescope dot net
Target Milestone: ---
Created attachment 44628
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44628&action=edit
Preprocessed file which produces clobbering warning
I am getting the following warning from code, compiling with -Os -Wclobbered
src/read.c: In function ‘EvalRef.isra.25’:
cc1: warning: argument ‘ISRA.312’ might be clobbered by ‘longjmp’ or ‘vfork’
[-Wclobbered]
EvalRef is defined as:
static UInt EvalRef(const LHSRef ref, Int needExpr)
Which fdump-tree-all, preprocess.c.225t.switchlower shows as:
EvalRef.isra.25 (const REFTYPE ISRA.310, const UInt ISRA.311, const UInt
ISRA.312, Int needExpr)
So, there are (I feel) two issues. Firstly, the warning isn't helpful as it
references a gcc-introduced function. Also I still don't see how ISRA.312 could
get clobbered, as it is const.
Unfortunately I have tried and failed to produce a small reproducable case of
this. I attach a preprocessed source file, made with gcc 8.0.1 on Ubuntu 18.04,
from the current master branch of https://www.github.com/gap-system/gap
More information about the Gcc-bugs
mailing list