[Bug c++/85739] [8/9 Regression] internal compiler error: in finish_member_declaration, at cp/semantics.c:3057

2018-06-03 Thread jason at gcc dot gnu.org
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

2018-06-03 Thread jason at gcc dot gnu.org
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

2018-06-03 Thread jason at gcc dot gnu.org
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

2018-06-02 Thread jason at gcc dot gnu.org
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

2018-05-29 Thread paolo.carlini at oracle dot com
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

2018-05-14 Thread ensadc at mailnesia dot com
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

2018-05-11 Thread jakub at gcc dot gnu.org
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.