This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/82032] New: [8 Regression] ICE in try_switch_expansion, at tree-switch-conversion.c:2063
- From: "marxin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 30 Aug 2017 08:48:44 +0000
- Subject: [Bug tree-optimization/82032] New: [8 Regression] ICE in try_switch_expansion, at tree-switch-conversion.c:2063
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82032
Bug ID: 82032
Summary: [8 Regression] ICE in try_switch_expansion, at
tree-switch-conversion.c:2063
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
Mine issue on:
$ cat ice.ii
template <typename a> class b
{
public:
typename a::aa operator[] (typename a::c) {}
};
class d
{
public:
typedef long c;
typedef int aa;
};
struct e
{
int af[4];
int ag;
};
b<d> f;
bool
g (e &i)
{
for (int h; h; ++h)
switch (f[h])
{
case 'x':
case 'a':
i.af[h] = 3;
break;
default:
return false;
}
}
$ g++ ice.ii -O3
during GIMPLE pass: switchlower
ice.ii: In function ‘bool g(e&)’:
ice.ii:19:1: internal compiler error: in try_switch_expansion, at
tree-switch-conversion.c:2063
g (e &i)
^
0x61a3e0 try_switch_expansion
.././../gcc/tree-switch-conversion.c:2063
0xc90a66 execute
.././../gcc/tree-switch-conversion.c:2215