[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-26 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Jason Merrill  ---
Fixed.

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-26 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #6 from Jason Merrill  ---
Author: jason
Date: Fri Jan 26 15:25:23 2018
New Revision: 257093

URL: https://gcc.gnu.org/viewcvs?rev=257093=gcc=rev
Log:
PR c++/82514 - ICE with local class in generic lambda.

* pt.c (regenerated_lambda_fn_p): Remove.
(enclosing_instantiation_of): Don't use it.
(tsubst_function_decl): Call enclosing_instantiation_of.

* pt.c (lookup_template_class_1): Add sanity check.
* name-lookup.c (do_pushtag): Don't add closures to local_classes.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-nested2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/pt.c

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-24 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #5 from Jason Merrill  ---
Further reduced:

template  void i(h) { }
template  void n() {
  [] {
struct p { };
i(p{});
  };
}

auto f = n<1>;

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-17 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-07 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #4 from Markus Trippelsdorf  ---
Smaller testcase from PR83727:

namespace a {
template  b *begin(b (&)[c]);
}
class d {
public:
  d(const char *);
};
struct e {
  int f;
  d docstring;
  void (*func)(int &, int);
};
namespace a {
template  h i(h, h, g) { return 0; }
}
using a::begin;
template 
auto i(j &, k l) -> decltype(begin(container)) {
  return a::i(container, container, l);
}
enum { m };
template  void n(int &, int) {
  [] {
struct p {
} o[]{{}};
i(o, p{});
  };
}
e cmds{'i', "", n};

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-07 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #3 from Markus Trippelsdorf  ---
*** Bug 83727 has been marked as a duplicate of this bug. ***

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2017-10-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-10-11
 Ever confirmed|0   |1

--- Comment #2 from Markus Trippelsdorf  ---
Started with r251433.

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2017-10-11 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2017-10-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #1 from Markus Trippelsdorf  ---
PR77787 trace looks similar.