PR c++/79130 - decomposition and direct-initialization
[gcc.git] / gcc / cp / ChangeLog
1 2017-01-19 Jason Merrill <jason@redhat.com>
2
3 PR c++/79130 - decomposition and direct-initialization
4 * init.c (build_aggr_init): Communicate direct-initialization to
5 build_vec_init.
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.
9
10 2017-01-18 Jason Merrill <jason@redhat.com>
11
12 PR c++/68666 - member variable template-id
13 * typeck.c (finish_class_member_access_expr): Handle variable
14 template-id.
15 * pt.c (lookup_and_finish_template_variable): No longer static.
16 * cp-tree.h: Declare it.
17
18 2017-01-18 Nathan Sidwell <nathan@acm.org>
19
20 PR c++/78488
21 * call.c (build_over_call): When checking ellipsis conversions for
22 an inherited ctor, make sure there is at least one conversion.
23
24 2017-01-18 Jason Merrill <jason@redhat.com>
25
26 PR c++/78894 - ICE with class deduction and default arg
27 * pt.c (build_deduction_guide): Set DECL_PRIMARY_TEMPLATE.
28
29 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
30
31 PR c++/77489
32 * mangle.c (write_discriminator): Reorganize abi warning check.
33
34 2017-01-18 Nathan Sidwell <nathan@acm.org>
35
36 * cp-tree.h: Clarify exception spec node comment.
37 * except.c (nothrow_spec_p): Simplify by checking node-equality.
38
39 PR c++/79091
40 * mangle.c (write_exception_spec): Check nothrow explicitly.
41 (write_encoding): Don't increment processing_template_decl around
42 encoding.
43
44 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
45
46 PR c++/70182
47 * mangle.c (write_template_args): Add "on" for operator names.
48
49 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
50
51 PR c++/77489
52 * mangle.c (write_discriminator): Handle discriminator >= 10.
53
54 2017-01-17 Nathan Sidwell <nathan@acm.org>
55
56 PR c++/61636
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.
65
66 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
67
68 PR c++/70565
69 * cp-array-notation.c (expand_array_notation_exprs): Handle
70 OMP_PARALLEL.
71
72 2017-01-11 Jason Merrill <jason@redhat.com>
73
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.
77
78 2017-01-11 Nathan Sidwell <nathan@acm.org>
79
80 PR c++/77812
81 * name-lookup.c (set_namespace_binding_1): An overload of 1 decl
82 is a new overload.
83
84 2017-01-11 Nathan Sidwell <nathan@acm.org>
85
86 * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation.
87
88 2017-01-11 Jakub Jelinek <jakub@redhat.com>
89
90 PR c++/78341
91 * parser.c (cp_parser_std_attribute_spec): Remove over-eager
92 assertion. Formatting fix.
93
94 PR c++/72813
95 * decl2.c (c_parse_final_cleanups): Set flag_syntax_only to 1 after
96 writing PCH file.
97
98 2017-01-10 David Malcolm <dmalcolm@redhat.com>
99
100 PR c++/77949
101 * parser.c (cp_parser_class_specifier_1): Only suggest inserting
102 a missing semicolon if we have a valid insertion location for
103 the fix-it hint.
104
105 2017-01-10 Jason Merrill <jason@redhat.com>
106
107 FI 20, decomposition declaration with parenthesized initializer.
108 * parser.c (cp_parser_decomposition_declaration): Use
109 cp_parser_initializer.
110
111 2017-01-09 Jason Merrill <jason@redhat.com>
112
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.
117
118 2017-01-09 Jakub Jelinek <jakub@redhat.com>
119
120 PR translation/79019
121 PR translation/79020
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.
125
126 2017-01-07 Jason Merrill <jason@redhat.com>
127
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.
136
137 2017-01-05 Jakub Jelinek <jakub@redhat.com>
138
139 PR c++/78931
140 * decl.c (cp_finish_decomp): Remove probe variable, if tt is
141 REFERENCE_REF_P, set tt to its operand.
142
143 PR c++/78890
144 * class.c (check_field_decls): Diagnose REFERENCE_TYPE fields in
145 unions even for C++11 and later.
146
147 2017-01-05 Nathan Sidwell <nathan@acm.org>
148
149 PR c++/78765
150 * pt.c (convert_nontype_argument): Don't try and see if integral
151 or enum expressions are constants prematurely.
152
153 2017-01-04 Marek Polacek <polacek@redhat.com>
154
155 PR c++/64767
156 * typeck.c (cp_build_binary_op): Warn when a pointer is compared with
157 a zero character literal.
158
159 2017-01-04 Jakub Jelinek <jakub@redhat.com>
160
161 PR c++/78949
162 * typeck.c (cp_build_unary_op): Call mark_rvalue_use on arg if it has
163 vector type.
164
165 PR c++/78693
166 * parser.c (cp_parser_simple_declaration): Only complain about
167 inconsistent auto deduction if auto_result doesn't use auto.
168
169 * parser.c (cp_parser_simple_declaration): Diagnose function
170 declaration among more than one init-declarators with auto
171 specifier.
172
173 PR c++/71182
174 * parser.c (cp_lexer_previous_token): Use vec_safe_address in the
175 assertion, as lexer->buffer may be NULL.
176
177 2017-01-04 Marek Polacek <polacek@redhat.com>
178
179 PR c++/77545
180 PR c++/77284
181 * constexpr.c (potential_constant_expression_1): Handle CLEANUP_STMT.
182
183 2017-01-04 Nathan Sidwell <nathan@acm.org>
184
185 PR c++/66735
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
191 error checking.
192 * pt.c (tsubst): Adjust lambda_capture_field_type call.
193
194 2017-01-01 Jakub Jelinek <jakub@redhat.com>
195
196 Update copyright years.
197 \f
198 Copyright (C) 2017 Free Software Foundation, Inc.
199
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.