[Bug middle-end/79673] New: GIMPLE verification fails when compiling code with __seg_gs
me at manueljacob dot de
gcc-bugzilla@gcc.gnu.org
Wed Feb 22 11:21:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79673
Bug ID: 79673
Summary: GIMPLE verification fails when compiling code with
__seg_gs
Product: gcc
Version: 7.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: me at manueljacob dot de
CC: jakub at gcc dot gnu.org, rguenther at suse dot de
Target Milestone: ---
Created attachment 40814
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40814&action=edit
Compiler traceback
This happens at least on x86-64 with -O2 and higher. If I pass code like this,
void used(double x);
void usel(long x);
void test(int c) {
if (c) {
used(*((double __seg_gs *) 0));
} else {
usel(*((long __seg_gs *) 0));
}
}
the compiler ICEs (using some GCC-slang I learned from the comments to my
previous bug report ;)) in verify_gimple (full traceback attached).
It seems like the problematic IR is created in SSA PRE, although my GCC
debugging skills are too limited to verify this (I couldn't manage to print the
IR before and after this particular pass).
More information about the Gcc-bugs
mailing list