[Bug c++/100006] [8/9/10/11 Regression] ICE: in dependent_type_p, at cp/pt.c:26745
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
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
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
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.