PR c++/81236 - ICE with template-id in generic lambda
* semantics.c (finish_id_expression): Remove special dependent case. Avoid some later pieces when dependent. (finish_qualified_id_expr): Do normal BASELINK handling in a template. Always build a SCOPE_REF for a destructor BIT_NOT_EXPR. (parsing_default_capturing_generic_lambda_in_template): Remove. * parser.c (cp_parser_postfix_dot_deref_expression): Always give an error for types that will never be complete. * mangle.c (write_expression): Add sanity check. * tree.c (build_qualified_name): Add sanity check. (cp_walk_subtrees): Walk into the class context of a BASELINK. * lambda.c (add_capture): Improve diagnostic for generic lambda capture failure. * call.c (build_new_method_call_1): Print the right constructor name. From-SVN: r251438
Showing
- gcc/cp/ChangeLog 16 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/call.c 1 addition, 0 deletionsgcc/cp/call.c
- gcc/cp/lambda.c 5 additions, 1 deletiongcc/cp/lambda.c
- gcc/cp/mangle.c 1 addition, 0 deletionsgcc/cp/mangle.c
- gcc/cp/parser.c 3 additions, 27 deletionsgcc/cp/parser.c
- gcc/cp/semantics.c 16 additions, 75 deletionsgcc/cp/semantics.c
- gcc/cp/tree.c 3 additions, 0 deletionsgcc/cp/tree.c
- gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1.C 17 additions, 0 deletionsgcc/testsuite/g++.dg/cpp1y/lambda-generic-this1.C
- gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1a.C 17 additions, 0 deletionsgcc/testsuite/g++.dg/cpp1y/lambda-generic-this1a.C
- gcc/testsuite/g++.dg/template/pseudodtor3.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/template/pseudodtor3.C
Loading
Please register or sign in to comment