From 62e42210ef0f4c2d80a542cb676b663f4df2bb88 Mon Sep 17 00:00:00 2001 From: Adam Butcher Date: Mon, 16 Sep 2013 09:04:45 +0100 Subject: [PATCH] Change log update for 202610-202612. From-SVN: r202615 --- gcc/cp/ChangeLog | 54 +++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 5 ++++ 2 files changed, 59 insertions(+) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c3c2edeb414..5fbc78c1c2a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,57 @@ +2013-09-16 Adam Butcher + + * cp-tree.h (type_uses_auto_or_concept): Declare. + (is_auto_or_concept): Declare. + * decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with + -std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions. + * type-utils.h: New header defining ... + (find_type_usage): ... this new function based on pt.c (type_uses_auto) + for searching a type tree given a predicate. + * pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage). + (is_auto_or_concept): New function. + (type_uses_auto_or_concept): New function. + * parser.h (struct cp_parser): Add fully_implicit_function_template_p. + * parser.c (cp_parser_new): Initialize fully_implicit_function_template_p. + (cp_parser_new): Initialize fully_implicit_function_template_p. + (cp_parser_lambda_expression): Copy and restore value of + fully_implicit_function_template_p as per other parser fields. + (cp_parser_parameter_declaration_list): Count generic + parameters and call ... + (add_implicit_template_parms): ... this new function to synthesize them + with help from type-utils.h (find_type_usage), ... + (tree_type_is_auto_or_concept): ... this new static function and ... + (make_generic_type_name): ... this new static function. + (cp_parser_direct_declarator): Account for implicit template parameters. + (cp_parser_lambda_declarator_opt): Finish fully implicit template if + necessary by calling ... + (finish_fully_implicit_template): ... this new function. + (cp_parser_init_declarator): Likewise. + (cp_parser_function_definition_after_declarator): Likewise. + (cp_parser_member_declaration): Likewise. + * Make-lang.in (cp/pt.o): Add dependency on type-utils.h. + (cp/parser.o): Likewise. + +2013-09-16 Adam Butcher + + * parser.c (cp_parser_lambda_declarator_opt): Accept template parameter + list with std=c++1y or std=gnu++1y. + (cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call + operator template to avoid adding template result to symbol table. + * lambda.c (lambda_function): Return template result if call operator is + a template. + (maybe_add_lambda_conv_op): Move declarations to point of use. Refactor + operator call building in order to support conversion of a non-capturing + lambda template to a function pointer with help from ... + (prepare_op_call): ... this new function. + * decl2.c (check_member_template): Don't reject lambda call operator + template in local [lambda] class. + * pt.c (instantiate_class_template_1): Don't instantiate lambda call + operator template when instantiating lambda class. + +2013-09-16 Adam Butcher + + * pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION. + 2013-09-15 Jason Merrill Core DR 904 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3240989a00c..99d0c36beff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-09-16 Adam Butcher + + * g++.dg/cpp0x/auto9.C: Downgrade two previously expected errors (now + interpreted as implicit templates) to be expected pedwarns instead. + 2013-09-16 Tobias Burnus PR fortran/57697 -- 2.30.2