[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #7 from Jason Merrill --- Fixed.
[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 --- Comment #6 from Jason Merrill --- Author: jason Date: Sun Jun 3 20:01:37 2018 New Revision: 261132 URL: https://gcc.gnu.org/viewcvs?rev=261132=gcc=rev Log: PR c++/85739 - ICE with pointer to member template parm. * cvt.c (perform_qualification_conversions): Use cp_fold_convert. Added: branches/gcc-8-branch/gcc/testsuite/g++.dg/template/ptrmem32.C Modified: branches/gcc-8-branch/gcc/cp/ChangeLog branches/gcc-8-branch/gcc/cp/cvt.c
[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 --- Comment #5 from Jason Merrill --- Author: jason Date: Sun Jun 3 12:37:03 2018 New Revision: 261129 URL: https://gcc.gnu.org/viewcvs?rev=261129=gcc=rev Log: PR c++/85739 - ICE with pointer to member template parm. * cvt.c (perform_qualification_conversions): Use cp_fold_convert. Added: trunk/gcc/testsuite/g++.dg/template/ptrmem32.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cvt.c
[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 Paolo Carlini changed: What|Removed |Added Keywords||ice-on-valid-code Priority|P3 |P2 CC||paolo.carlini at oracle dot com
[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 ensadc at mailnesia dot com changed: What|Removed |Added CC||ensadc at mailnesia dot com --- Comment #4 from ensadc at mailnesia dot com --- struct l { int k; }; template class b { }; template class B { using e = int; }; template bool operator!=(B, b); bool bb = (B<::k>() != b<::k>()); also reproduces it.
[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85739 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-05-11 CC||jakub at gcc dot gnu.org, ||jason at gcc dot gnu.org Target Milestone|--- |8.2 Summary|internal compiler error: in |[8/9 Regression] internal |finish_member_declaration, |compiler error: in |at cp/semantics.c:3057 |finish_member_declaration, ||at cp/semantics.c:3057 Ever confirmed|0 |1 --- Comment #3 from Jakub Jelinek --- You don't really need the include, typedef __PTRDIFF_TYPE__ ptrdiff_t; template class b {}; template class B { using e = ptrdiff_t; }; template bool operator!=(B, b); class l; template class m { public: using o = B; using iterator = b ; }; class l { public: int f; }; template class F { public: using j = m ; using o = typename j::o; using iterator = typename j::iterator; o begin() const; }; class p { bool k() const; F ::iterator c; F d; }; bool p::k() const { if (d.begin() != c) return true; return false; } reproduces it too. Started with r254843.