This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/79253] New: [7 Regression] ICE in tsubst_copy starting with r243723
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 26 Jan 2017 22:10:44 +0000
- Subject: [Bug c++/79253] New: [7 Regression] ICE in tsubst_copy starting with r243723
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79253
Bug ID: 79253
Summary: [7 Regression] ICE in tsubst_copy starting with
r243723
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
Since r243723 we ICE on the following testcase:
template <typename> struct A;
template <typename = A<int>> class B {};
template <class T, class U, class V> void foo (U, V) { T (0, 0); }
struct C {};
template <template <bool, bool, bool> class F, class>
void
bar ()
{
F<0, 0, 0>::baz;
}
struct G { int l; };
template <int, int, int> struct E : C
{
E (int, int) : e (0)
{
auto &m = this->m ();
auto c = [&] { m.l; };
}
G &m ();
int e;
};
struct D
{
void
baz () { bar<F, B<>>; }
template <bool, bool, bool> struct F
{
static B<> baz () { foo<E<0, 0, 0>> (0, 0); }
};
};
reduced from mathicgb:
src/mathicgb/ModuleMonoSet.cpp:184:1: required from here
src/mathicgb/ModuleMonoSet.cpp:71:34: internal compiler error: in tsubst_copy,
at cp/pt.c:14400
const auto& monoid = this->monoid(); // workaround for gcc 4.5.3 issue
~~~~~~^~~~~~