aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAdam Butcher <abutcher@gcc.gnu.org>2013-09-16 09:04:45 +0100
committerAdam Butcher <abutcher@gcc.gnu.org>2013-09-16 09:04:45 +0100
commit62e42210ef0f4c2d80a542cb676b663f4df2bb88 (patch)
treed4d3f0f92b70cc9a2918d04732034e80b089eecb /gcc
parent96e24d499b3818e76af555e2529082432470aee4 (diff)
downloadgcc-62e42210ef0f4c2d80a542cb676b663f4df2bb88.zip
gcc-62e42210ef0f4c2d80a542cb676b663f4df2bb88.tar.gz
gcc-62e42210ef0f4c2d80a542cb676b663f4df2bb88.tar.bz2
Change log update for 202610-202612.
From-SVN: r202615
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog54
-rw-r--r--gcc/testsuite/ChangeLog5
2 files changed, 59 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c3c2ede..5fbc78c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,57 @@
+2013-09-16 Adam Butcher <adam@jessamine.co.uk>
+
+ * 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 <adam@jessamine.co.uk>
+
+ * 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 <adam@jessamine.co.uk>
+
+ * pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.
+
2013-09-15 Jason Merrill <jason@redhat.com>
Core DR 904
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3240989..99d0c36 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-16 Adam Butcher <adam@jessamine.co.uk>
+
+ * 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 <burnus@net-b.de>
PR fortran/57697