1 2017-01-19 Jason Merrill <jason@redhat.com>
3 PR c++/79130 - decomposition and direct-initialization
4 * init.c (build_aggr_init): Communicate direct-initialization to
6 (build_vec_init): Check for array copy sooner.
7 * parser.c (cp_parser_decomposition_declaration): Remove call to
8 build_x_compound_expr_from_list.
10 2017-01-18 Jason Merrill <jason@redhat.com>
12 PR c++/68666 - member variable template-id
13 * typeck.c (finish_class_member_access_expr): Handle variable
15 * pt.c (lookup_and_finish_template_variable): No longer static.
16 * cp-tree.h: Declare it.
18 2017-01-18 Nathan Sidwell <nathan@acm.org>
21 * call.c (build_over_call): When checking ellipsis conversions for
22 an inherited ctor, make sure there is at least one conversion.
24 2017-01-18 Jason Merrill <jason@redhat.com>
26 PR c++/78894 - ICE with class deduction and default arg
27 * pt.c (build_deduction_guide): Set DECL_PRIMARY_TEMPLATE.
29 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
32 * mangle.c (write_discriminator): Reorganize abi warning check.
34 2017-01-18 Nathan Sidwell <nathan@acm.org>
36 * cp-tree.h: Clarify exception spec node comment.
37 * except.c (nothrow_spec_p): Simplify by checking node-equality.
40 * mangle.c (write_exception_spec): Check nothrow explicitly.
41 (write_encoding): Don't increment processing_template_decl around
44 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
47 * mangle.c (write_template_args): Add "on" for operator names.
49 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
52 * mangle.c (write_discriminator): Handle discriminator >= 10.
54 2017-01-17 Nathan Sidwell <nathan@acm.org>
57 * cp-tree.h (maybe_generic_this_capture): Declare.
58 * lambda.c (resolvable_dummy_lambda): New, broken out of ...
59 (maybe_resolve_dummy): ... here. Call it.
60 (maybe_generic_this_capture): New.
61 * parser.c (cp_parser_postfix_expression): Speculatively capture
62 this in generic lambda in unresolved member function call.
63 * pt.c (tsubst_copy_and_build): Force hard error from failed
64 member function lookup in generic lambda.
66 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
69 * cp-array-notation.c (expand_array_notation_exprs): Handle
72 2017-01-11 Jason Merrill <jason@redhat.com>
74 PR c++/78337 - ICE on invalid with generic lambda
75 * semantics.c (process_outer_var_ref): Check if containing_function
76 is null. Move inform call under complain test.
78 2017-01-11 Nathan Sidwell <nathan@acm.org>
81 * name-lookup.c (set_namespace_binding_1): An overload of 1 decl
84 2017-01-11 Nathan Sidwell <nathan@acm.org>
86 * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation.
88 2017-01-11 Jakub Jelinek <jakub@redhat.com>
91 * parser.c (cp_parser_std_attribute_spec): Remove over-eager
92 assertion. Formatting fix.
95 * decl2.c (c_parse_final_cleanups): Set flag_syntax_only to 1 after
98 2017-01-10 David Malcolm <dmalcolm@redhat.com>
101 * parser.c (cp_parser_class_specifier_1): Only suggest inserting
102 a missing semicolon if we have a valid insertion location for
105 2017-01-10 Jason Merrill <jason@redhat.com>
107 FI 20, decomposition declaration with parenthesized initializer.
108 * parser.c (cp_parser_decomposition_declaration): Use
109 cp_parser_initializer.
111 2017-01-09 Jason Merrill <jason@redhat.com>
113 Implement P0195R2, C++17 variadic using.
114 * parser.c (cp_parser_using_declaration): Handle ellipsis and comma.
115 * pt.c (tsubst_decl): Handle pack expansion in USING_DECL_SCOPE.
116 * error.c (dump_decl): Likewise.
118 2017-01-09 Jakub Jelinek <jakub@redhat.com>
122 * semantics.c (finish_omp_clauses): Add missing whitespace to
123 translatable strings.
124 * cp-cilkplus.c (cpp_validate_cilk_plus_loop_aux): Fix comment typo.
126 2017-01-07 Jason Merrill <jason@redhat.com>
128 PR c++/78948 - instantiation from discarded statement
129 * parser.h (struct cp_parser): Remove in_discarded_stmt field.
130 * cp-tree.h (in_discarded_stmt): Declare it.
131 (struct saved_scope): Add discarded_stmt bitfield.
132 (in_discarded_stmt): New macro.
133 * decl2.c (mark_used): Check it.
134 * parser.c (cp_parser_selection_statement): Adjust.
135 (cp_parser_jump_statement): Adjust.
137 2017-01-05 Jakub Jelinek <jakub@redhat.com>
140 * decl.c (cp_finish_decomp): Remove probe variable, if tt is
141 REFERENCE_REF_P, set tt to its operand.
144 * class.c (check_field_decls): Diagnose REFERENCE_TYPE fields in
145 unions even for C++11 and later.
147 2017-01-05 Nathan Sidwell <nathan@acm.org>
150 * pt.c (convert_nontype_argument): Don't try and see if integral
151 or enum expressions are constants prematurely.
153 2017-01-04 Marek Polacek <polacek@redhat.com>
156 * typeck.c (cp_build_binary_op): Warn when a pointer is compared with
157 a zero character literal.
159 2017-01-04 Jakub Jelinek <jakub@redhat.com>
162 * typeck.c (cp_build_unary_op): Call mark_rvalue_use on arg if it has
166 * parser.c (cp_parser_simple_declaration): Only complain about
167 inconsistent auto deduction if auto_result doesn't use auto.
169 * parser.c (cp_parser_simple_declaration): Diagnose function
170 declaration among more than one init-declarators with auto
174 * parser.c (cp_lexer_previous_token): Use vec_safe_address in the
175 assertion, as lexer->buffer may be NULL.
177 2017-01-04 Marek Polacek <polacek@redhat.com>
181 * constexpr.c (potential_constant_expression_1): Handle CLEANUP_STMT.
183 2017-01-04 Nathan Sidwell <nathan@acm.org>
186 * cp-tree.h (DECLTYPE_FOR_REF_CAPTURE): New.
187 (lambda_capture_field_type): Update prototype.
188 * lambda.c (lambda_capture_field_type): Add is_reference parm.
189 Add referenceness here.
190 (add_capture): Adjust lambda_capture_field_type call, refactor
192 * pt.c (tsubst): Adjust lambda_capture_field_type call.
194 2017-01-01 Jakub Jelinek <jakub@redhat.com>
196 Update copyright years.
198 Copyright (C) 2017 Free Software Foundation, Inc.
200 Copying and distribution of this file, with or without modification,
201 are permitted in any medium without royalty provided the copyright
202 notice and this notice are preserved.