[Bug c++/100006] [8/9/10/11 Regression] ICE: in dependent_type_p, at cp/pt.c:26745

2021-04-09 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Jason Merrill :

https://gcc.gnu.org/g:e89055f90cff9fb6f565b9374e1ab74f805682fb

commit r11-8103-ge89055f90cff9fb6f565b9374e1ab74f805682fb
Author: Jason Merrill 
Date:   Fri Apr 9 16:43:50 2021 -0400

c++: pack in base-specifier in lambda [PR16]

Normally cp_parser_base_clause prevents unexpanded packs, but in a lambda
check_for_bare_parameter_packs allows it.  Then we weren't finding the
pack when scanning the lambda body.

This doesn't fix a valid variant like

  template  void sink (Ts&&...);
  template 
  void f() {
sink ([] { struct S : Ts { }; }...);
  }
  int main() {
f();
  }

but that's a much bigger project.

gcc/cp/ChangeLog:

PR c++/16
* pt.c (find_parameter_packs_r) [TAG_DEFN]: Look into bases.

gcc/testsuite/ChangeLog:

PR c++/16
* g++.dg/cpp0x/lambda/lambda-variadic13.C: New test.

[Bug c++/100006] [8/9/10/11 Regression] ICE: in dependent_type_p, at cp/pt.c:26745

2021-04-09 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16

Jason Merrill  changed:

   What|Removed |Added

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

[Bug c++/100006] [8/9/10/11 Regression] ICE: in dependent_type_p, at cp/pt.c:26745

2021-04-09 Thread hewillk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16

--- Comment #3 from 康桓瑋  ---
https://godbolt.org/z/o6h8GP6ae

Maybe same form:

template 
auto f() {
  [] { struct S : Ts {}; };
}

int main() {
  f<>();
}

:3:15: internal compiler error: in dependent_type_p, at cp/pt.c:26745
3 |   [] { struct S : Ts {}; };
  |   ^
0x1d00959 internal_error(char const*, ...)
???:0
0x6bb099 fancy_abort(char const*, int, char const*)
???:0
0x8fa338 dependent_type_p(tree_node*)
???:0
0x7a9464 xref_basetypes(tree_node*, tree_node*)
???:0
0x95aa80 instantiate_class_template(tree_node*)
???:0
0x94abba tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x91d54f instantiate_decl(tree_node*, bool, bool)
???:0
0x7c7a3e maybe_instantiate_decl(tree_node*)
???:0
0x7c91a0 mark_used(tree_node*, int)
???:0
0x6de907 build_new_function_call(tree_node*, vec**, int)
???:0
0x981c3c finish_call_expr(tree_node*, vec**, bool,
bool, int)
???:0
0x8e224d c_parse_file()
???:0
0xa612e2 c_common_parse_file()
???:0
Please submit a full bug report,
with preprocessed source if appropriate.

[Bug c++/100006] [8/9/10/11 Regression] ICE: in dependent_type_p, at cp/pt.c:26745

2021-04-09 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16

Marek Polacek  changed:

   What|Removed |Added

   Last reconfirmed||2021-04-09
   Keywords||ice-on-invalid-code
   Target Milestone|--- |8.5
 Status|UNCONFIRMED |NEW
   Priority|P3  |P2
 Ever confirmed|0   |1
 CC||jason at gcc dot gnu.org,
   ||mpolacek at gcc dot gnu.org
Summary|ICE: in dependent_type_p,   |[8/9/10/11 Regression] ICE:
   |at cp/pt.c:26745|in dependent_type_p, at
   ||cp/pt.c:26745

--- Comment #2 from Marek Polacek  ---
(In reply to 康桓瑋 from comment #0)
> Congratulations on hitting the 10,000 reports mark!

You helped :).

Started with r251433.