[Bug middle-end/95021] New: [10/11 Regression] Bogus -Wclobbered warning
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat May 9 16:14:03 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95021
Bug ID: 95021
Summary: [10/11 Regression] Bogus -Wclobbered warning
Product: gcc
Version: 10.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
On Linux/x86-64, GCC 10 and 11 give
[hjl@gnu-skx-1 creduce-1]$ cat foo.i
typedef long long a;
struct __jmp_buf_tag {
};
typedef struct __jmp_buf_tag sigjmp_buf[1];
sigjmp_buf jmp_buf;
int __sigsetjmp (sigjmp_buf, int);
typedef struct {
a target;
} b;
extern a *target_p;
b *c;
extern void e (a);
void
d(void)
{
if (__sigsetjmp(jmp_buf, 1)) {
a target = *target_p;
c->target = target;
e(target);
}
}
[hjl@gnu-skx-1 creduce-1]$ /usr/gcc-10.1.1-x32/bin/gcc -m32 -O2 -W foo.i -S
foo.i: In function ??d??:
foo.i:17:7: warning: variable ??target?? might be clobbered by ??longjmp?? or
??vfork?? [-Wclobbered]
17 | a target = *target_p;
| ^~~~~~
[hjl@gnu-skx-1 creduce-1]$
GCC 9.3 is OK.
More information about the Gcc-bugs
mailing list