Starting from r260050 we ICE on: $ ./xg++ -B. /home/marxin/BIG/Programming/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp /home/marxin/BIG/Programming/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp: In function ‘int main()’: /home/marxin/BIG/Programming/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp:37:20: internal compiler error: in dependent_type_p, at cp/pt.c:24582 ) -> int { return v + i + c ^~~ 0x83a1ab dependent_type_p(tree_node*) ../../gcc/cp/pt.c:24582 0x6beb68 require_complete_types_for_parms ../../gcc/cp/decl.c:12571 0x6beb68 check_function_type ../../gcc/cp/decl.c:14743 0x6beb68 start_preparsed_function(tree_node*, tree_node*, int) ../../gcc/cp/decl.c:14959 0x728ab4 start_lambda_function(tree_node*, tree_node*) ../../gcc/cp/lambda.c:1393 0x779148 cp_parser_lambda_body ../../gcc/cp/parser.c:10656 0x777d36 cp_parser_lambda_expression ../../gcc/cp/parser.c:10170 0x76d154 cp_parser_primary_expression ../../gcc/cp/parser.c:5263 0x771190 cp_parser_postfix_expression ../../gcc/cp/parser.c:7005 0x7747ae cp_parser_unary_expression ../../gcc/cp/parser.c:8300 0x7758c0 cp_parser_cast_expression ../../gcc/cp/parser.c:9068 0x7759bd cp_parser_binary_expression ../../gcc/cp/parser.c:9169 0x77679a cp_parser_assignment_expression ../../gcc/cp/parser.c:9464 0x776fad cp_parser_constant_expression ../../gcc/cp/parser.c:9748 0x78f225 cp_parser_initializer_clause ../../gcc/cp/parser.c:21927 0x78f043 cp_parser_initializer ../../gcc/cp/parser.c:21867 0x78abe0 cp_parser_init_declarator ../../gcc/cp/parser.c:19678 0x77e300 cp_parser_simple_declaration ../../gcc/cp/parser.c:13038 0x77de43 cp_parser_block_declaration ../../gcc/cp/parser.c:12857 0x77d23d cp_parser_declaration_statement ../../gcc/cp/parser.c:12451 Where the file can be downloaded here: https://github.com/llvm-mirror/clang/blob/master/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
Too bad. Anyway, c++/84588 is just a minor error-recovery issue, thus for now I'm simply reverting the commit.
Author: paolo Date: Wed May 9 16:17:36 2018 New Revision: 260086 URL: https://gcc.gnu.org/viewcvs?rev=260086&root=gcc&view=rev Log: /cp 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 Revert: 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84588 * parser.c (cp_parser_parameter_declaration_list): When the entire parameter-declaration-list is erroneous maybe call abort_fully_implicit_template. /testsuite 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 Revert: 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84588 * g++.dg/cpp1y/pr84588.C: New. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp1y/pr84588.C
Done.
Author: paolo Date: Wed May 9 16:19:09 2018 New Revision: 260087 URL: https://gcc.gnu.org/viewcvs?rev=260087&root=gcc&view=rev Log: /cp 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 Revert: 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84588 * parser.c (cp_parser_parameter_declaration_list): When the entire parameter-declaration-list is erroneous maybe call abort_fully_implicit_template. /testsuite 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 Revert: 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84588 * g++.dg/cpp1y/pr84588.C: New. Removed: trunk/gcc/testsuite/g++.dg/cpp1y/pr84588.C
.
Author: paolo Date: Wed May 9 19:46:47 2018 New Revision: 260092 URL: https://gcc.gnu.org/viewcvs?rev=260092&root=gcc&view=rev Log: 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 * g++.dg/cpp1y/lambda-generic-85713.C: New. Added: trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-85713.C Modified: trunk/gcc/testsuite/ChangeLog
Was in fact a serious ICE on valid, I added a minimized testcase.
Author: paolo Date: Thu May 17 09:17:56 2018 New Revision: 260308 URL: https://gcc.gnu.org/viewcvs?rev=260308&root=gcc&view=rev Log: 2018-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 * g++.dg/cpp1y/lambda-generic-85713-2.C: New. Added: trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-85713-2.C Modified: trunk/gcc/testsuite/ChangeLog