]>
Commit | Line | Data |
---|---|---|
7d0039a6 JM |
1 | 2014-04-11 Jason Merrill <jason@redhat.com> |
2 | ||
3 | DR 1338 | |
4 | * decl.c (cxx_init_decl_processing): Set DECL_IS_MALLOC on | |
5 | built-in operator new. | |
6 | ||
1b255e8f PC |
7 | 2014-04-11 Paolo Carlini <paolo.carlini@oracle.com> |
8 | ||
9 | PR c++/58600 | |
10 | * name-lookup.c (parse_using_directive): Return early if the | |
11 | attribs argument is error_mark_node; use get_attribute_name. | |
12 | ||
4561285b JM |
13 | 2014-04-11 Jason Merrill <jason@redhat.com> |
14 | ||
15 | DR 1030 | |
16 | PR c++/51253 | |
17 | * cp-tree.h (CALL_EXPR_LIST_INIT_P): New. | |
18 | * call.c (struct z_candidate): Add flags field. | |
19 | (add_candidate): Add flags parm. | |
20 | (add_function_candidate, add_conv_candidate, build_builtin_candidate) | |
21 | (add_template_candidate_real): Pass it. | |
22 | (build_over_call): Set CALL_EXPR_LIST_INIT_P. | |
23 | * tree.c (build_aggr_init_expr): Copy it. | |
24 | * semantics.c (simplify_aggr_init_expr): Preevaluate args if it's set. | |
25 | ||
8aa1cce6 RB |
26 | 2014-04-10 Richard Biener <rguenther@suse.de> |
27 | Jakub Jelinek <jakub@redhat.com> | |
28 | ||
29 | PR ipa/60761 | |
30 | * error.c (dump_decl) <case FUNCTION_DECL>: If | |
31 | DECL_LANG_SPECIFIC is NULL, but DECL_ABSTRACT_ORIGIN is not, | |
32 | recurse on DECL_ABSTRACT_ORIGIN instead of printing | |
33 | <built-in>. | |
34 | ||
51970b3e FC |
35 | 2014-04-09 Fabien Chêne <fabien@gcc.gnu.org> |
36 | ||
37 | * pt.c (check_template_variable): Check for the return of pedwarn | |
38 | before emitting a note. | |
39 | * parser.c (cp_parser_lambda_introducer): Likewise. | |
40 | ||
a7c3f276 PC |
41 | 2014-04-08 Paolo Carlini <paolo.carlini@oracle.com> |
42 | ||
43 | PR c++/59115 | |
44 | * pt.c (process_template_parm): For an invalid non-type parameter | |
45 | only set TREE_TYPE to error_mark_node. | |
46 | (push_inline_template_parms_recursive, comp_template_parms, | |
47 | redeclare_class_template, coerce_template_template_parm, | |
48 | coerce_template_template_parms, unify): Use error_operand_p. | |
49 | ||
38f09da3 NS |
50 | 2014-04-08 Nathan Sidwell <nathan@codesourcery.com> |
51 | ||
52 | * class.c (check_bases_and_members): Warn about non-virtual dtors | |
53 | in public bases only. Check warn_ecpp before complaining about | |
54 | non-polymorphic bases. | |
55 | ||
090ec702 FC |
56 | 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org> |
57 | ||
58 | * decl.c (duplicate_decls): Check for the return of warning_at | |
59 | before emitting a note. | |
60 | (warn_misplaced_attr_for_class_type): Likewise. | |
61 | (check_tag_decl): Likewise. | |
62 | ||
9119c7fa PC |
63 | 2014-04-04 Paolo Carlini <paolo.carlini@oracle.com> |
64 | ||
65 | PR c++/58207 | |
66 | * semantics.c (sort_constexpr_mem_initializers): Robustify loop. | |
67 | ||
822cc906 PP |
68 | 2014-04-04 Patrick Palka <patrick@parcs.ath.cx> |
69 | ||
0450fc0b PP |
70 | PR c++/44613 |
71 | * semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL. | |
72 | * decl.c (cp_finish_decl): Create a new BIND_EXPR before | |
73 | instantiating a variable-sized type. | |
74 | ||
822cc906 PP |
75 | PR c++/21113 |
76 | * decl.c (decl_jump_unsafe): Consider variably-modified decls. | |
77 | ||
3fe99aa5 FC |
78 | 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org> |
79 | ||
80 | * class.c (find_abi_tags_r): Check for the return of warning | |
81 | before emitting a note. | |
82 | (one_inherited_ctor): Likewise. | |
83 | ||
d4a69ff4 FC |
84 | 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org> |
85 | ||
86 | * decl.c (duplicate_decls): Check for the return of permerror | |
87 | before emitting a note. | |
88 | ||
880a467b NS |
89 | 2014-04-03 Nathan Sidwell <nathan@codesourcery.com> |
90 | ||
91 | * class.c (accessible_nvdtor_p): New. | |
92 | (check_bases): Don't check base destructor here ... | |
93 | (check_bases_and_members): ... check them here. Trigger on | |
94 | Wnon-virtual-dtor flag. | |
95 | (finish_struct_1): Use accessible_nvdtor_p. | |
96 | ||
cd8a9d6d JM |
97 | 2014-04-01 Jason Merrill <jason@redhat.com> |
98 | ||
52710d27 JM |
99 | * pt.c (process_partial_specialization): Say "not deducible" |
100 | rather than "not used". Use inform. | |
101 | ||
cd8a9d6d JM |
102 | PR c++/60374 |
103 | * pt.c (coerce_template_parms): Check that the pack expansion | |
104 | pattern works with the first matching parameter. | |
105 | ||
0df9da03 FC |
106 | 2014-04-01 Fabien Chêne <fabien@gcc.gnu.org> |
107 | ||
9ffac481 | 108 | * init.c (perform_member_init): Homogenize uninitialized |
0df9da03 FC |
109 | diagnostics. |
110 | ||
2982147e JM |
111 | 2014-04-01 Jason Merrill <jason@redhat.com> |
112 | ||
24991604 JM |
113 | PR c++/60708 |
114 | * call.c (build_array_conv): Call complete_type. | |
115 | ||
dd5593fc JM |
116 | PR c++/60713 |
117 | * typeck2.c (PICFLAG_SIDE_EFFECTS): New. | |
118 | (picflag_from_initializer): Return it. | |
119 | (process_init_constructor): Handle it. | |
120 | ||
2982147e JM |
121 | PR c++/60642 |
122 | * decl2.c (is_late_template_attribute): Don't defer abi_tag. | |
123 | * mangle.c (write_unqualified_name): Fix abi_tag on templates. | |
124 | * pt.c (get_template_info): Handle NAMESPACE_DECL. | |
125 | (most_general_template): Handle more kinds of template. | |
126 | * tree.c (handle_abi_tag_attribute): Ignore abi_tag on template | |
127 | instantiations and specializations. | |
128 | ||
9ffac481 | 129 | 2014-03-31 Patrick Palka <patrick@parcs.ath.cx> |
75d850f3 PP |
130 | |
131 | PR c++/44859 | |
132 | * typeck.c (maybe_warn_about_returning_address_of_local): Unwrap | |
133 | COMPONENT_REFs and ARRAY_REFs sooner. | |
134 | ||
4b0040a6 AB |
135 | 2014-03-29 Adam Butcher <adam@jessamine.co.uk> |
136 | ||
137 | PR c++/60626 | |
138 | * parser.c (cp_parser_init_declarator): Handle erroneous generic type | |
139 | usage in non-functions with pushed scope. | |
140 | ||
5294e4c3 AB |
141 | 2014-03-28 Adam Butcher <adam@jessamine.co.uk> |
142 | ||
143 | PR c++/60573 | |
144 | * name-lookup.h (cp_binding_level): New transient field defining_class_p | |
145 | to indicate whether a scope is in the process of defining a class. | |
146 | * semantics.c (begin_class_definition): Set defining_class_p. | |
147 | * name-lookup.c (leave_scope): Reset defining_class_p. | |
148 | * parser.c (synthesize_implicit_template_parm): Use cp_binding_level:: | |
149 | defining_class_p rather than TYPE_BEING_DEFINED as the predicate for | |
150 | unwinding to class-defining scope to handle the erroneous definition of | |
151 | a generic function of an arbitrarily nested class within an enclosing | |
152 | class. | |
153 | ||
816551fe | 154 | 2014-03-26 Fabien Chêne <fabien@gcc.gnu.org> |
5294e4c3 AB |
155 | |
156 | PR c++/52369 | |
d4a69ff4 | 157 | * method.c (walk_field_subobs): Improve the diagnostic |
816551fe | 158 | locations for both REFERENCE_TYPEs and non-static const members. |
d4a69ff4 | 159 | * init.c (diagnose_uninitialized_cst_or_ref_member): Use %q#D |
816551fe FC |
160 | instead of %qD to be consistent with the c++11 diagnostic. |
161 | ||
45156f14 JM |
162 | 2014-03-25 Jason Merrill <jason@redhat.com> |
163 | ||
d74db8ff JM |
164 | PR c++/60566 |
165 | PR c++/58678 | |
166 | * class.c (build_vtbl_initializer): Handle abstract dtors here. | |
167 | * search.c (get_pure_virtuals): Not here. | |
168 | ||
1cbba79d JM |
169 | PR c++/60375 |
170 | * parser.c (cp_parser_lambda_expression): Don't parse the body of | |
171 | a lambda in unevaluated context. | |
172 | ||
45156f14 JM |
173 | PR c++/60628 |
174 | * decl.c (create_array_type_for_decl): Complain about array of auto. | |
175 | ||
8bcc90b0 JJ |
176 | 2014-03-25 Jakub Jelinek <jakub@redhat.com> |
177 | ||
178 | PR c++/60331 | |
179 | * semantics.c (potential_constant_expression_1): Handle | |
180 | DECL_EXPR. | |
181 | ||
21554a3e AB |
182 | 2014-03-24 Adam Butcher <adam@jessamine.co.uk> |
183 | ||
184 | PR c++/60627 | |
185 | * parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from | |
186 | introducing an implicit function template parameter within an explicit | |
187 | instantiation. | |
188 | ||
d0f27fb6 JM |
189 | 2014-03-22 Jason Merrill <jason@redhat.com> |
190 | ||
191 | PR c++/60574 | |
192 | * decl.c (grokdeclarator): Change permerror about 'virtual auto' | |
193 | to error. | |
194 | ||
279d3eb8 PC |
195 | 2014-03-21 Paolo Carlini <paolo.carlini@oracle.com> |
196 | ||
197 | PR c++/60384 | |
198 | * name-lookup.c (push_class_level_binding_1): Check identifier_p | |
199 | on the name argument. | |
200 | ||
7614d42c JJ |
201 | 2014-03-20 Jakub Jelinek <jakub@redhat.com> |
202 | ||
203 | PR c++/60572 | |
204 | * init.c (build_zero_init_1): Ignore fields with error_mark_node | |
205 | type. | |
206 | ||
7d092805 PC |
207 | 2014-03-19 Paolo Carlini <paolo.carlini@oracle.com> |
208 | ||
209 | PR c++/51474 | |
210 | * call.c (build_new_method_call_1): Handle pure virtuals called by | |
211 | NSDMIs too. | |
212 | ||
c66f2ba1 AB |
213 | 2014-03-17 Adam Butcher <adam@jessamine.co.uk> |
214 | ||
e0672441 AB |
215 | PR c++/60390 |
216 | * parser.c (cp_parser_member_declaration): Don't allow | |
217 | finish_fully_implicit_template to consider friend declarations to be | |
218 | class member templates. | |
219 | (synthesize_implicit_template_parm): Handling winding back through class | |
220 | scope to the class being defined in order to inject a template argument | |
221 | list. | |
222 | ||
c66f2ba1 AB |
223 | PR c++/60391 |
224 | * parser.c (cp_parser_skip_to_end_of_block_or_statement): Unwind generic | |
225 | function scope as per cp_parser_skip_to_end_of_statement. | |
226 | ||
50e4d1ec PC |
227 | 2014-03-17 Paolo Carlini <paolo.carlini@oracle.com> |
228 | ||
229 | PR c++/59571 | |
230 | * typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae. | |
231 | ||
7e343703 JM |
232 | 2014-03-14 Jason Merrill <jason@redhat.com> |
233 | ||
47b5d284 JM |
234 | PR c++/60532 |
235 | PR c++/58678 | |
236 | * search.c (get_pure_virtuals): Handle abstract dtor here. | |
237 | (dfs_get_pure_virtuals): Not here. | |
238 | ||
7e343703 JM |
239 | PR c++/58678 |
240 | * search.c (dfs_get_pure_virtuals): Treat the destructor of an | |
241 | abstract class as pure. | |
242 | ||
b0a87402 PC |
243 | 2014-03-13 Paolo Carlini <paolo.carlini@oracle.com> |
244 | ||
245 | PR c++/60383 | |
246 | * pt.c (maybe_process_partial_specialization): Check return value | |
247 | of check_specialization_namespace. | |
248 | ||
9299bde0 PC |
249 | 2014-03-13 Paolo Carlini <paolo.carlini@oracle.com> |
250 | ||
251 | PR c++/60254 | |
252 | * semantics.c (finish_static_assert): Call cxx_constant_value only | |
253 | if require_potential_rvalue_constant_expression returns true. | |
254 | ||
5af1876c PC |
255 | 2014-03-11 Paolo Carlini <paolo.carlini@oracle.com> |
256 | ||
257 | PR c++/60389 | |
258 | * method.c (get_inherited_ctor): New. | |
259 | * cp-tree.h (get_inherited_ctor): Declare it. | |
260 | * semantics.c (is_valid_constexpr_fn): Use it. | |
261 | ||
4d3f2fa6 JM |
262 | 2014-03-10 Jason Merrill <jason@redhat.com> |
263 | ||
4a4e80cb JM |
264 | PR c++/60367 |
265 | * call.c (convert_default_arg): Remove special handling for | |
266 | CONSTRUCTOR. | |
267 | ||
4d3f2fa6 JM |
268 | PR c++/53492 |
269 | * parser.c (cp_parser_class_head): Also check PRIMARY_TEMPLATE_P | |
270 | when deciding whether to call push_template_decl for a member class. | |
271 | * pt.c (push_template_decl_real): Return after wrong levels error. | |
272 | ||
14e62702 AB |
273 | 2014-03-08 Adam Butcher <adam@jessamine.co.uk> |
274 | ||
1c74dc2a AB |
275 | PR c++/60033 |
276 | * pt.c (tsubst_copy): When retrieving a capture pack from a generic | |
277 | lambda, remove the lambda's own template argument list prior to fetching | |
278 | the specialization. | |
279 | ||
14e62702 AB |
280 | PR c++/60393 |
281 | * parser.c (cp_parser_parameter_declaration_clause): Move generic | |
282 | function template unwinding on error into a more general location, ... | |
283 | (cp_parser_skip_to_end_of_statement): ... here. | |
284 | ||
b75bf8b1 JM |
285 | 2014-03-07 Jason Merrill <jason@redhat.com> |
286 | ||
c93a4be5 JM |
287 | * Make-lang.in (check_g++_parallelize): Split dg.exp. |
288 | ||
968b3503 JM |
289 | * parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if |
290 | we're in a trailing return type. | |
291 | ||
d08a068b JM |
292 | * typeck.c (comp_template_parms_position): 'auto' and |
293 | 'decltype(auto)' are different from real template parms. | |
294 | ||
94151520 JM |
295 | * parser.c (cp_parser_using_declaration): Consume the semicolon |
296 | after bare parameter pack error. | |
297 | ||
0e4cf887 JM |
298 | * cp-tree.h (REF_PARENTHESIZED_P): New. |
299 | * semantics.c (force_paren_expr): Set it. | |
300 | * pt.c (do_auto_deduction): Check it. | |
301 | (tsubst) [COMPONENT_REF]: Copy it. | |
302 | * typeck.c (maybe_warn_about_useless_cast): Don't strip dereference. | |
303 | ||
b75bf8b1 JM |
304 | * decl.c (create_array_type_for_decl): Only warn about invalid |
305 | C++1y VLA if flag_iso or warn_vla>0. | |
306 | (grokdeclarator): Likewise. | |
307 | * pt.c (tsubst): Likewise. | |
308 | * semantics.c (finish_decltype_type): Likewise. | |
309 | * typeck.c (cxx_sizeof_or_alignof_type): Likewise. | |
310 | (cp_build_addr_expr_1): Likewise. | |
311 | * init.c (build_new_1): Improve diagnostics. | |
312 | ||
c12b3bd3 PC |
313 | 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com> |
314 | ||
315 | PR c++/58609 | |
316 | * decl.c (check_initializer): Return NULL_TREE after error; | |
317 | consistently use inform. | |
318 | ||
bc65bdd5 PC |
319 | 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com> |
320 | ||
321 | * decl.c (check_initializer): Remove dead code. | |
322 | ||
3af9c5e9 MP |
323 | 2014-03-06 Marek Polacek <polacek@redhat.com> |
324 | ||
325 | PR c/60197 | |
326 | * typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead | |
327 | of checking tree code. | |
328 | ||
d9d8f6b1 PC |
329 | 2014-03-06 Paolo Carlini <paolo.carlini@oracle.com> |
330 | ||
331 | * parser.c (cp_lexer_set_source_position): New. | |
332 | (cp_parser_mem_initializer): Use it. | |
333 | (cp_parser_postfix_open_square_expression): Likewise. | |
334 | (cp_parser_parenthesized_expression_list): Likewise. | |
335 | (cp_parser_new_initializer): Likewise. | |
336 | (cp_parser_jump_statement): Likewise. | |
337 | (cp_parser_initializer): Likewise. | |
338 | (cp_parser_functional_cast): Likewise. | |
339 | ||
04702386 JM |
340 | 2014-03-05 Jason Merrill <jason@redhat.com> |
341 | ||
f9b381b8 JM |
342 | PR c++/60409 |
343 | * semantics.c (force_paren_expr): Only add a PAREN_EXPR to a | |
344 | dependent expression. | |
345 | ||
5d264d62 JM |
346 | PR c++/60361 |
347 | * parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID | |
348 | if re-parsing might succeed. | |
349 | * semantics.c (finish_id_expression): Use of a parameter outside | |
350 | the function body is a parse error. | |
351 | ||
04702386 JM |
352 | * parser.c (cp_parser_mem_initializer): Set input_location |
353 | properly for init-list warning. | |
354 | (cp_parser_postfix_open_square_expression): Likewise. | |
355 | (cp_parser_parenthesized_expression_list): Likewise. | |
356 | (cp_parser_new_initializer): Likewise. | |
357 | (cp_parser_jump_statement): Likewise. | |
358 | (cp_parser_initializer): Likewise. | |
359 | (cp_parser_functional_cast): Likewise. | |
360 | ||
201fe4c6 JM |
361 | 2014-03-04 Jason Merrill <jason@redhat.com> |
362 | ||
ca982b1c JM |
363 | PR c++/60417 |
364 | * typeck2.c (process_init_constructor_record): Set | |
365 | CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers. | |
366 | ||
201fe4c6 JM |
367 | PR c++/60415 |
368 | PR c++/54359 | |
369 | * parser.c (cp_parser_direct_declarator): Set declarator to | |
370 | cp_error_declarator on invalid qualified-id. | |
371 | ||
064fd5a8 PC |
372 | 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com> |
373 | ||
374 | PR c++/60376 | |
375 | * parser.c (cp_parser_using_declaration): Early return when | |
376 | cp_parser_nested_name_specifier errors out. | |
377 | ||
234b1504 AB |
378 | 2014-03-01 Adam Butcher <adam@jessamine.co.uk> |
379 | ||
380 | PR c++/60377 | |
381 | * parser.c (cp_parser_parameter_declaration_clause): Unwind generic | |
382 | function scope on parse error in function parameter list. | |
383 | ||
c582aac9 PC |
384 | 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com> |
385 | ||
386 | * method.c (implicitly_declare_fn): Remove redundant | |
387 | DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses. | |
388 | * semantics.c (is_instantiation_of_constexpr): Likewise. | |
389 | * error.c (dump_function_decl): Likewise. | |
390 | ||
fe96264f JM |
391 | 2014-03-01 Jason Merrill <jason@redhat.com> |
392 | ||
393 | PR c++/60379 | |
394 | * semantics.c (begin_maybe_infinite_loop): Use | |
395 | fold_non_dependent_expr_sfinae. | |
396 | ||
abb839ec JM |
397 | 2014-02-28 Jason Merrill <jason@redhat.com> |
398 | ||
399 | PR c++/58845 | |
400 | * typeck.c (cp_build_binary_op): Sorry on vector&&vector. | |
401 | ||
f1ee5eaf PC |
402 | 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com> |
403 | ||
404 | PR c++/58610 | |
405 | * cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK. | |
406 | * call.c (print_z_candidate): Remove STRIP_TEMPLATE use. | |
407 | * lambda.c (maybe_add_lambda_conv_op): Likewise. | |
408 | ||
ae9b3eb9 PC |
409 | 2014-02-27 Paolo Carlini <paolo.carlini@oracle.com> |
410 | ||
411 | PR c++/60253 | |
412 | * call.c (convert_arg_to_ellipsis): Return error_mark_node after | |
413 | error_at. | |
414 | ||
7fce82f5 JM |
415 | 2014-02-27 Jason Merrill <jason@redhat.com> |
416 | ||
417 | PR c++/60353 | |
418 | PR c++/55877 | |
419 | * decl2.c (tentative_decl_linkage): Don't mess with functions that | |
420 | are not yet defined. | |
421 | ||
2f75f515 JM |
422 | 2014-02-26 Jason Merrill <jason@redhat.com> |
423 | ||
c3439626 JM |
424 | PR c++/60347 |
425 | PR lto/53808 | |
426 | * class.c (clone_function_decl): Don't note_vague_linkage_fn. | |
427 | * init.c (build_vtbl_address): Do it here. | |
428 | ||
ca7e759d JM |
429 | PR c++/59231 |
430 | PR c++/11586 | |
431 | PR c++/14710 | |
432 | PR c++/57132 | |
433 | * pt.c (struct warning_sentinel): New. | |
434 | (tsubst_copy_and_build): Use it instead of | |
435 | c_inhibit_evaluation_warnings. | |
436 | * typeck.c (maybe_warn_about_useless_cast): Remove | |
437 | c_inhibit_evaluation_warnings check. | |
438 | ||
b0ff7fe1 JM |
439 | PR c++/54440 |
440 | * pt.c (get_template_parm_index): New. | |
441 | (fixed_parameter_pack_p_1, fixed_parameter_pack_p): New. | |
442 | (process_template_parm): Allow bare packs in template template | |
443 | parm template parms. | |
444 | (coerce_template_parameter_pack): Handle fixed template template | |
445 | parm packs and fixed packs not at the end of the parm list. | |
446 | (coerce_template_parms): Handle template parm packs not at the end | |
447 | of the parm list. | |
448 | (gen_elem_of_pack_expansion_instantiation): Handle a decl expansion. | |
449 | ||
f3417723 JM |
450 | PR c++/60182 |
451 | * pt.c (unify): Ignore alias templates when deducing a template | |
452 | template parameter. | |
453 | ||
2f75f515 JM |
454 | PR c++/60345 |
455 | Revert: | |
456 | DR 1571 | |
457 | * call.c (reference_binding): Recurse on user-defined conversion. | |
458 | (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch. | |
459 | ||
d808e92e JM |
460 | 2014-02-25 Jason Merrill <jason@redhat.com> |
461 | ||
be9e97bd JM |
462 | DR 1571 |
463 | * call.c (reference_binding): Recurse on user-defined conversion. | |
464 | (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch. | |
465 | ||
241172a5 JM |
466 | * call.c (print_conversion_rejection): Handle n_arg of -2. |
467 | (build_user_type_conversion_1): Pass it. | |
468 | ||
944b63db JM |
469 | PR c++/55877 |
470 | * decl2.c (no_linkage_error): Handle C++98 semantics. | |
471 | (reset_type_linkage): Move from decl.c. | |
472 | (reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1) | |
473 | (bt_reset_linkage_2, reset_decl_linkage): New. | |
474 | (tentative_decl_linkage): Factor out of expand_or_defer_fn_1. | |
475 | (cp_write_global_declarations): Move condition into no_linkage_error. | |
476 | * decl.c (grokfndecl, grokvardecl): Use no_linkage_error. | |
477 | * semantics.c (expand_or_defer_fn_1): Factor out | |
478 | tentative_decl_linkage. | |
479 | * cp-tree.h: Adjust. | |
480 | ||
a6659b55 JM |
481 | * decl2.c (finish_static_data_member_decl): Diagnose static data |
482 | member in unnamed class. | |
483 | * class.c (finish_struct_anon_r): Avoid redundant diagnostic. | |
484 | ||
6e6eaecc JM |
485 | PR lto/53808 |
486 | * class.c (clone_function_decl): Call note_vague_linkage_fn for | |
487 | defaulted virtual dtor. | |
488 | ||
d808e92e JM |
489 | DR 1286 |
490 | PR c++/60328 | |
491 | * pt.c (get_underlying_template): Fix equivalence calculation. | |
492 | ||
81493f78 AB |
493 | 2014-02-25 Adam Butcher <adam@jessamine.co.uk> |
494 | ||
adbdb8c7 AB |
495 | PR c++/60311 |
496 | * parser.c (function_being_declared_is_template_p): Return false when | |
497 | processing a template parameter list. | |
498 | (cp_parser_parameter_declaration_clause): Don't set | |
499 | auto_is_implicit_function_template_parm_p when processing a | |
500 | template parameter list. | |
501 | ||
1b859733 AB |
502 | * parser.c (synthesize_implicit_template_parm): Inject new template |
503 | argument list appropriately when a generic member function | |
504 | of a class template is declared out-of-line. | |
505 | ||
81493f78 AB |
506 | PR c++/60065 |
507 | * parser.c (cp_parser_direct_declarator): Don't save and | |
508 | restore num_template_parameter_lists around call to | |
509 | cp_parser_parameter_declaration_list. | |
510 | (function_being_declared_is_template_p): New predicate. | |
511 | (cp_parser_parameter_declaration_list): Use | |
512 | function_being_declared_is_template_p as predicate for | |
513 | inspecting current function template parameter list length | |
514 | rather than num_template_parameter_lists. | |
515 | ||
01689517 JM |
516 | 2014-02-24 Jason Merrill <jason@redhat.com> |
517 | ||
2105f1a7 JM |
518 | PR c++/60146 |
519 | * pt.c (tsubst_omp_for_iterator): Don't let substitution of the | |
520 | DECL_EXPR initialize a non-class iterator. | |
521 | ||
01689517 JM |
522 | PR c++/60312 |
523 | * parser.c (cp_parser_template_type_arg): Check for invalid 'auto'. | |
524 | ||
a866509a | 525 | 2014-02-21 Jason Merrill <jason@redhat.com> |
1c195d2a | 526 | |
7eae5d36 JM |
527 | PR c++/58170 |
528 | * parser.c (cp_parser_type_name): Always check dependency. | |
529 | (cp_parser_type_specifier_seq): Call | |
530 | cp_parser_parse_and_diagnose_invalid_type_name. | |
531 | ||
d723358d JM |
532 | PR c++/60108 |
533 | * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN. | |
534 | ||
c754ffcc JM |
535 | PR c++/60185 |
536 | * parser.c (cp_parser_default_argument): Clear | |
537 | current_class_ptr/current_class_ref like tsubst_default_argument. | |
538 | ||
e7b67047 JM |
539 | PR c++/60252 |
540 | * lambda.c (maybe_resolve_dummy): Check lambda_function rather | |
541 | than current_binding_level. | |
542 | ||
b98fb363 JM |
543 | PR c++/60186 |
544 | * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae. | |
545 | ||
3e9e24ab JM |
546 | PR c++/60187 |
547 | * parser.c (cp_parser_enum_specifier): Call | |
548 | check_for_bare_parameter_packs. | |
549 | ||
71b735a5 JM |
550 | PR c++/59347 |
551 | * pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an | |
552 | erroneous typedef. | |
553 | ||
2671a8ef JM |
554 | PR c++/60241 |
555 | * pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS | |
556 | of the partial instantiation, not the most general template. | |
557 | (maybe_process_partial_specialization): Reassign everything on | |
558 | that list. | |
559 | ||
0d4af074 JM |
560 | PR c++/60216 |
561 | * pt.c (register_specialization): Copy DECL_DELETED_FN to clones. | |
562 | (check_explicit_specialization): Don't clone. | |
563 | ||
07874b24 JM |
564 | PR c++/60219 |
565 | * pt.c (coerce_template_parms): Bail if argument packing fails. | |
566 | ||
843633f8 JM |
567 | PR c++/60224 |
568 | * decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init): | |
569 | Don't get confused by a CONSTRUCTOR that already has a type. | |
570 | ||
f611c78a | 571 | PR c++/60227 |
cd3ef6f7 JM |
572 | * call.c (build_array_conv): Don't crash on VLA. |
573 | ||
1ea32974 JM |
574 | PR c++/60248 |
575 | * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL. | |
576 | ||
1c195d2a JM |
577 | PR c++/60252 |
578 | * lambda.c (maybe_resolve_dummy): Don't try to capture this | |
579 | in declaration context. | |
a866509a | 580 | |
e9cd6551 JM |
581 | DR 1591 |
582 | PR c++/60051 | |
583 | * pt.c (unify): Only unify if deducible. Handle 0-length list. | |
584 | ||
9e01a71f JM |
585 | PR c++/60250 |
586 | * parser.c (cp_parser_direct_declarator): Don't wrap a | |
587 | type-dependent expression in a NOP_EXPR. | |
588 | ||
e429bc35 JM |
589 | PR c++/60251 |
590 | * lambda.c (is_normal_capture_proxy): Handle VLA capture. | |
591 | ||
a866509a JM |
592 | PR c++/60167 |
593 | PR c++/60222 | |
594 | PR c++/58606 | |
595 | * parser.c (cp_parser_template_argument): Restore dereference. | |
596 | * pt.c (template_parm_to_arg): Dereference non-pack expansions too. | |
597 | (process_partial_specialization): Handle deref. | |
598 | (unify): Likewise. | |
599 | ||
2807d5d2 AB |
600 | 2014-02-21 Adam Butcher <adam@jessamine.co.uk> |
601 | ||
602 | PR c++/60052 | |
603 | PR c++/60053 | |
604 | * parser.c (cp_parser_parameter_declaration_list): Correctly reset | |
605 | implicit_template_scope upon leaving an out-of-line generic member | |
606 | function definition. | |
607 | ||
f2381074 KT |
608 | 2014-02-20 Kai Tietz <ktietz@redhat.com> |
609 | ||
f1dbbe42 KT |
610 | PR c++/58873 |
611 | * parser.c (cp_parser_functional_cast): Treat NULL_TREE | |
612 | valued type argument as error_mark_node. | |
613 | ||
f2381074 KT |
614 | PR c++/58835 |
615 | * semantics.c (finish_fname): Handle error_mark_node. | |
616 | ||
55694175 JM |
617 | 2014-02-19 Jason Merrill <jason@redhat.com> |
618 | ||
619 | PR c++/60046 | |
620 | * pt.c (maybe_instantiate_noexcept): Don't instantiate exception | |
621 | spec from template context. | |
622 | ||
4998d666 JJ |
623 | 2014-02-19 Jakub Jelinek <jakub@redhat.com> |
624 | ||
128ed090 JJ |
625 | PR debug/56563 |
626 | * cp-objcp-common.c (cp_function_decl_explicit_p): Remove | |
627 | FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check. | |
628 | ||
4998d666 JJ |
629 | PR c++/60267 |
630 | * pt.c (tsubst_expr): Handle ANNOTATE_EXPR. | |
631 | ||
a1535f52 PC |
632 | 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com> |
633 | ||
634 | PR c++/60225 | |
635 | * semantics.c (ensure_literal_type_for_constexpr_object): Use | |
636 | strip_array_types. | |
637 | ||
638 | 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com> | |
639 | ||
640 | PR c++/60215 | |
641 | * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]): | |
642 | During error recovery allow_non_constant may be false. | |
643 | ||
b19fd0fd AB |
644 | 2014-02-18 Adam Butcher <adam@jessamine.co.uk> |
645 | ||
646 | PR c++/60190 | |
647 | * parser.c (cp_parser_lambda_declarator_opt): Pop template parameter | |
648 | scope whenever a template parameter list has been started, independent | |
649 | of whether the function call operator was well-formed or not. | |
650 | ||
75e9d9a0 AB |
651 | PR c++/60064 |
652 | * parser.c (cp_parser_member_declaration): Pop fully implicit template | |
653 | scope for generic friend declarations as well as for non-friends. | |
654 | ||
6cfbc023 PC |
655 | 2014-02-12 Paolo Carlini <paolo.carlini@oracle.com> |
656 | ||
657 | PR c++/60047 | |
658 | * method.c (implicitly_declare_fn): A constructor of a class with | |
659 | virtual base classes isn't constexpr (7.1.5p4). | |
660 | ||
b3bb0eb9 JH |
661 | 2014-02-05 Jan Hubicka <hubicka@ucw.cz |
662 | ||
663 | * parser.c (synthesize_implicit_template_parm): Use grow_tree_vec. | |
664 | ||
54e19c00 JJ |
665 | 2014-02-05 Jakub Jelinek <jakub@redhat.com> |
666 | ||
667 | PR c++/58703 | |
668 | * parser.c (cp_parser_omp_declare_reduction): Save and free | |
669 | declarator_obstack. | |
670 | ||
5d77fb19 MG |
671 | 2014-02-03 Marc Glisse <marc.glisse@inria.fr> |
672 | ||
673 | PR c++/53017 | |
674 | PR c++/59211 | |
675 | * tree.c (handle_init_priority_attribute): Call default_conversion on | |
676 | the attribute argument. | |
677 | ||
f344f525 PC |
678 | 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com> |
679 | ||
680 | PR c++/58871 | |
681 | * method.c (synthesized_method_walk): If vbases is non-null but | |
682 | is_empty is true, likewise don't worry about the virtual bases. | |
683 | ||
4244ec23 PC |
684 | 2014-02-01 Paolo Carlini <paolo.carlini@oracle.com> |
685 | ||
686 | PR c++/51219 | |
687 | * typeck2.c (process_init_constructor_record): Just skip unnamed | |
688 | bit-fields. | |
689 | ||
99a82a1e JM |
690 | 2014-01-31 Jason Merrill <jason@redhat.com> |
691 | ||
3d27e066 JM |
692 | PR c++/59469 |
693 | * pt.c (mark_decl_instantiated): Call mark_needed. | |
694 | ||
6962711f JM |
695 | PR c++/58672 |
696 | * decl2.c (handle_tls_init): Handle null init fn. | |
697 | ||
99a82a1e JM |
698 | PR c++/55800 |
699 | * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable. | |
700 | ||
f1f82a37 PC |
701 | 2014-01-31 Paolo Carlini <paolo.carlini@oracle.com> |
702 | ||
703 | PR c++/59082 | |
704 | * class.c (build_vfield_ref): Early return error_mark_node if | |
705 | TYPE_VFIELD (type) is null. | |
706 | (build_base_path): Check return value of build_vfield_ref. | |
707 | ||
4b55a782 JM |
708 | 2014-01-31 Jason Merrill <jason@redhat.com> |
709 | ||
408249b2 JM |
710 | PR c++/59646 |
711 | * call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P. | |
712 | [ck_list]: Check for error_mark_node. | |
713 | (build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing. | |
714 | ||
4b55a782 JM |
715 | PR c++/57043 |
716 | * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check | |
717 | during partial ordering. | |
718 | ||
81e5eca8 MP |
719 | 2014-01-31 Marek Polacek <polacek@redhat.com> |
720 | ||
721 | PR c/59963 | |
722 | * typeck.c (build_function_call_vec): Add dummy arg_loc parameter. | |
723 | ||
f221dc81 JM |
724 | 2014-01-30 Jason Merrill <jason@redhat.com> |
725 | ||
726 | PR c++/57899 | |
727 | * cp-tree.h (struct saved_scope): Add x_local_specializations. | |
728 | (local_specializations): New macro. | |
729 | * pt.c (local_specializations): Remove variable. | |
730 | ||
35e519c4 RS |
731 | 2014-01-30 Richard Sandiford <rdsandiford@googlemail.com> |
732 | ||
733 | PR c++/58708 | |
734 | * parser.c (make_string_pack): Use double_int::from_buffer. | |
735 | ||
68fca595 MP |
736 | 2014-01-30 Marek Polacek <polacek@redhat.com> |
737 | ||
738 | PR c/59940 | |
739 | * typeck.c (build_ptrmemfunc1): Call convert_and_check with | |
740 | input_location. | |
741 | * cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check | |
742 | with input_location. | |
743 | * call.c (build_conditional_expr_1): Call unsafe_conversion_p with | |
744 | loc parameter. | |
745 | ||
9ca57929 PC |
746 | 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com> |
747 | ||
748 | PR c++/58843 | |
749 | * typeck.c (lookup_destructor): Check dtor_type for error_mark_node. | |
750 | ||
e1b317ae PC |
751 | 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com> |
752 | ||
753 | PR c++/58649 | |
754 | * pt.c (lookup_template_class_1): Check start_enum return value | |
755 | for error_mark_node. | |
756 | ||
cc27b5cd PC |
757 | 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com> |
758 | ||
759 | * decl.c (duplicate_decls, typename_hash, typename_compare): | |
760 | Use TYPE_IDENTIFIER. | |
761 | * error.c (dump_type): Likewise. | |
762 | * mangle.c (dump_substitution_candidates): Likewise. | |
763 | ||
404c2aea JM |
764 | 2014-01-30 Jason Merrill <jason@redhat.com> |
765 | ||
766 | PR c++/59633 | |
767 | * decl2.c (attributes_naming_typedef_ok): New. | |
768 | * cp-tree.h: Declare it. | |
769 | * decl.c (grokdeclarator): Check it. | |
770 | * tree.c (no_linkage_check): Handle VECTOR_TYPE. | |
771 | ||
7651c656 JM |
772 | 2014-01-29 Jason Merrill <jason@redhat.com> |
773 | ||
3c4e06c2 JM |
774 | PR c++/59707 |
775 | * call.c (add_builtin_candidate): Catch dependent types. | |
776 | ||
0429e064 JM |
777 | PR c++/59989 |
778 | * pt.c (expand_template_argument_pack): Correct | |
779 | non_default_args_count calculation. | |
780 | ||
434e6c8a JM |
781 | PR c++/58466 |
782 | * pt.c (unify_pack_expansion): Call expand_template_argument_pack. | |
783 | ||
7651c656 JM |
784 | PR c++/59956 |
785 | * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we | |
786 | have a friend template in a class template. | |
787 | * pt.c (tsubst_friend_function): Look through it. | |
788 | (push_template_decl_real): A friend member template is | |
789 | primary. | |
790 | ||
e8902891 PC |
791 | 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> |
792 | ||
793 | PR c++/58846 | |
794 | * decl.c (get_dso_handle_node): Don't crash if dso_handle_node | |
795 | == error_mark_node. | |
796 | ||
e1e30986 PC |
797 | 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> |
798 | ||
799 | PR c++/58674 | |
800 | * pt.c (instantiate_template_1): Check for error_mark_node the second | |
801 | argument too. | |
802 | ||
dc9e1b86 JM |
803 | 2014-01-29 Jason Merrill <jason@redhat.com> |
804 | ||
8ae90330 JM |
805 | PR c++/59916 |
806 | * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for | |
807 | cdtor_returns_this case. | |
808 | ||
dc9e1b86 JM |
809 | PR c++/59315 |
810 | * decl.c (cxx_maybe_build_cleanup): Call mark_used. | |
811 | ||
4ca56230 PC |
812 | 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> |
813 | ||
814 | PR c++/58702 | |
815 | * semantics.c (finish_omp_reduction_clause): Check type for | |
816 | error_mark_node. | |
817 | ||
2e5e7103 JM |
818 | 2014-01-28 Jason Merrill <jason@redhat.com> |
819 | ||
15b31f8c JM |
820 | PR c++/59791 |
821 | * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context. | |
822 | (tsubst_copy): Use it if lookup fails. | |
823 | ||
4c690cea JM |
824 | PR c++/59818 |
825 | * pt.c (tsubst_function_type): Make sure we keep the same function | |
826 | quals. | |
827 | ||
0f59a31d JM |
828 | PR c++/58701 |
829 | * semantics.c (build_anon_member_initialization): Stop walking | |
830 | when we run out of COMPONENT_REFs. | |
831 | ||
3807059e JM |
832 | PR c++/58632 |
833 | * decl.c (lookup_and_check_tag): Ignore template parameters if | |
834 | scope == ts_current. | |
835 | * pt.c (check_template_shadow): Don't complain about the injected | |
836 | class name. | |
837 | ||
1377eb9a JM |
838 | * decl.c (duplicate_decls): Tweak. |
839 | ||
2e5e7103 JM |
840 | PR c++/53756 |
841 | * mangle.c (write_unqualified_name): Handle operator auto. | |
842 | ||
64d34897 JM |
843 | 2014-01-27 Jason Merrill <jason@redhat.com> |
844 | ||
63a18c8e JM |
845 | PR c++/59823 |
846 | Core DR 1138 | |
847 | * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for | |
848 | list-initialization. A conversion to rvalue ref that involves | |
849 | an lvalue-rvalue conversion is bad. | |
850 | (convert_like_real): Give helpful error message. | |
851 | ||
b89cc12b JM |
852 | PR c++/54652 |
853 | * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL. | |
854 | ||
9e73c3f3 JM |
855 | PR c++/58504 |
856 | * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for | |
857 | types. | |
858 | ||
b25c2a2f JM |
859 | PR c++/58606 |
860 | * pt.c (template_parm_to_arg): Call convert_from_reference. | |
861 | (tsubst_template_arg): Don't strip reference refs. | |
862 | ||
1b87c991 JM |
863 | PR c++/58639 |
864 | * call.c (build_aggr_conv): Reject value-initialization of reference. | |
865 | ||
11074000 JM |
866 | PR c++/58812 |
867 | PR c++/58651 | |
868 | * call.c (convert_like_real): Give helpful error about excess braces | |
869 | for ck_rvalue of scalar type. | |
870 | ||
f235ad11 JM |
871 | Core DR 1288 |
872 | * call.c (reference_binding): Only elide braces if the single | |
873 | element is reference-related. | |
874 | ||
30f6b784 JM |
875 | PR c++/58814 |
876 | * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before | |
877 | stabilizing. | |
878 | ||
9cca4e3d JM |
879 | PR c++/58837 |
880 | * typeck.c (cp_truthvalue_conversion): Use explicit comparison for | |
881 | FUNCTION_DECL. | |
882 | ||
64d34897 JM |
883 | PR c++/59097 |
884 | * decl.c (compute_array_index_type): Don't call | |
885 | maybe_constant_value for a non-integral expression. | |
886 | ||
b72271b9 BI |
887 | 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> |
888 | ||
889 | * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with | |
890 | flag_cilkplus. | |
891 | * cp-gimplify.c (cp_genericize): Likewise. | |
892 | * decl.c (grokfndecl): Likewise. | |
893 | * parser.c (cp_parser_postfix_expression): Likewise. | |
894 | (cp_parser_postfix_open_square_expression): Likewise. | |
895 | (cp_parser_direct_declarator): Likewise. | |
896 | (is_cilkplus_vector_p): Likewise. | |
897 | (cp_parser_omp_clause_name): Likewise. | |
898 | (cp_parser_omp_all_clauses): Likewise. | |
899 | * pt.c (apply_late_template_attributes): Likewise. | |
900 | * typeck.c (cp_build_array_ref): Likewise. | |
901 | (cp_build_compound_expr): Likewise. | |
902 | (check_return_expr): Likewise. | |
903 | ||
114bf260 JM |
904 | 2014-01-24 Jason Merrill <jason@redhat.com> |
905 | ||
233aedf4 JM |
906 | PR c++/58550 |
907 | * decl.c (grokdeclarator): Turn pedwarn about auto return type in | |
908 | c++11 into error. | |
909 | ||
114bf260 JM |
910 | PR c++/59886 |
911 | PR c++/59659 | |
912 | * typeck2.c (process_init_constructor_array): Don't create | |
913 | RANGE_EXPR yet. | |
914 | ||
2cbf3dd7 JJ |
915 | 2014-01-24 Jakub Jelinek <jakub@redhat.com> |
916 | ||
917 | * typeck2.c (split_nonconstant_init_1): Fix num_split_elts | |
918 | handling for RANGE_ARRAY case. | |
919 | ||
f9e2a506 PC |
920 | 2014-01-24 Paolo Carlini <paolo.carlini@oracle.com> |
921 | ||
922 | PR c++/57524 | |
923 | * name-lookup.c (push_using_directive): Use timevar_cond_start. | |
924 | ||
393e8e8b MP |
925 | 2014-01-23 Marek Polacek <polacek@redhat.com> |
926 | ||
927 | PR c/59846 | |
928 | * typeck.c (cp_build_binary_op): Pass location to shorten_compare. | |
929 | ||
f04dda30 MP |
930 | 2014-01-23 Marek Polacek <polacek@redhat.com> |
931 | ||
932 | PR c/58346 | |
933 | * typeck.c (pointer_diff): Give an error on arithmetic on pointer to | |
934 | an empty aggregate. | |
935 | ||
928d850f JM |
936 | 2014-01-23 Jason Merrill <jason@redhat.com> |
937 | ||
20f18c3c JM |
938 | PR c++/55189 |
939 | * cp-tree.h (struct language_function): Add infinite_loop and | |
940 | infinite_loops. | |
941 | (current_function_infinite_loop): New. | |
942 | * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop) | |
943 | (break_maybe_infinite_loop): New. | |
944 | (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt) | |
945 | (finish_do_stmt, finish_for_cond, finish_for_stmt) | |
946 | (begin_range_for_stmt): Use them. | |
947 | * decl.c (finish_function): Don't warn about missing return | |
948 | if current_function_infinite_loop. | |
949 | * pt.c (instantiate_decl): Copy current_function_infinite_loop. | |
950 | * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop. | |
951 | ||
928d850f JM |
952 | * call.c (build_op_delete_call): Use make_tree_vector and |
953 | release_tree_vector. | |
954 | ||
ea15e254 PC |
955 | 2014-01-23 Paolo Carlini <paolo.carlini@oracle.com> |
956 | ||
957 | PR c++/58980 | |
958 | * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as | |
959 | nested_name_specifier. | |
960 | ||
74558dd9 BI |
961 | 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com> |
962 | ||
963 | * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled | |
964 | see if there is an attribute after function decl. If so, then | |
965 | parse them now. | |
966 | (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD | |
967 | enabled function late parsing. | |
968 | (cp_parser_gnu_attribute_list): Parse all the tokens for the vector | |
969 | attribute for a SIMD-enabled function. | |
970 | (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when | |
971 | the function is used by SIMD-enabled function (indicated by NULL | |
972 | pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK, | |
973 | PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH | |
974 | (cp_parser_cilk_simd_vectorlength): Modified this function to handle | |
975 | vectorlength clause in SIMD-enabled function and #pragma SIMD's | |
976 | vectorlength clause. Added a new bool parameter to differentiate | |
977 | between the two. | |
978 | (cp_parser_cilk_simd_fn_vector_attrs): New function. | |
979 | (is_cilkplus_vector_p): Likewise. | |
980 | (cp_parser_late_parsing_elem_fn_info): Likewise. | |
981 | (cp_parser_omp_clause_name): Added a check for "mask", "nomask" | |
982 | and "vectorlength" clauses when Cilk Plus is enabled. | |
983 | (cp_parser_omp_clause_linear): Added a new parameter of type bool | |
984 | and emit a sorry message when step size is a parameter. | |
985 | * parser.h (cp_parser::cilk_simd_fn_info): New field. | |
986 | * decl.c (grokfndecl): Added flag_enable_cilkplus along with | |
987 | flag_openmp. | |
988 | * pt.c (apply_late_template_attributes): Likewise. | |
989 | ||
652fea39 JJ |
990 | 2014-01-23 Jakub Jelinek <jakub@redhat.com> |
991 | ||
992 | PR middle-end/58809 | |
993 | * semantics.c (finish_omp_reduction_clause): Reject | |
994 | BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs. | |
995 | ||
32ab58b2 VV |
996 | 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com> |
997 | ||
998 | PR c++/59482 | |
999 | * parser.c (cp_parser_class_head): Push the class before parsing | |
1000 | the base-clause, pop after it. | |
1001 | ||
621955cb EB |
1002 | 2014-01-20 Eric Botcazou <ebotcazou@adacore.com> |
1003 | ||
1004 | * decl2.c (cpp_check): Revert prototype change. | |
1005 | ||
a95aef3c PC |
1006 | 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com> |
1007 | ||
1008 | PR c++/59270 | |
1009 | PR c++/58811 | |
1010 | * init.c (build_value_init_noctor): Don't pass error_mark_node to | |
1011 | build_value_init. | |
1012 | ||
12185846 PC |
1013 | 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com> |
1014 | ||
1015 | PR c++/59269 | |
1016 | * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT | |
1017 | only when errorcount == 0. | |
1018 | ||
0ffc4683 MP |
1019 | 2014-01-17 Marek Polacek <polacek@redhat.com> |
1020 | ||
1021 | PR c++/59838 | |
1022 | * cvt.c (ocp_convert): Don't segfault on non-existing | |
1023 | ENUM_UNDERLYING_TYPE. | |
1024 | ||
cfb1582c JM |
1025 | 2014-01-16 Jason Merrill <jason@redhat.com> |
1026 | ||
1027 | PR c++/59821 | |
1028 | * tree.c (bot_manip): Update the location of builtin_LINE and | |
1029 | builtin_FILE calls. | |
1030 | ||
41852027 JM |
1031 | 2014-01-14 Jason Merrill <jason@redhat.com> |
1032 | ||
1033 | PR c++/59659 | |
1034 | * typeck2.c (massage_init_elt): New. | |
1035 | (process_init_constructor_record) | |
1036 | (process_init_constructor_union): Use it. | |
1037 | (process_init_constructor_array): Use it. Use RANGE_EXPR. | |
1038 | (split_nonconstant_init_1): Handle it. | |
1039 | * semantics.c (cxx_eval_vec_init_1): Use force_rvalue. | |
1040 | ||
9a74f20c BI |
1041 | 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com> |
1042 | ||
1043 | PR c++/59631 | |
1044 | * parser.c (cp_parser_postfix_expression): Added a new if-statement | |
1045 | and replaced an existing if-statement with else-if statement. | |
1046 | Changed an existing error message wording to match the one from the C | |
1047 | parser. | |
1048 | ||
f585f02f JM |
1049 | 2014-01-08 Jason Merrill <jason@redhat.com> |
1050 | ||
1051 | PR c++/59614 | |
1052 | * class.c (abi_tag_data): Add tags field. | |
1053 | (check_abi_tags): Initialize it. | |
1054 | (find_abi_tags_r): Support collecting missing tags. | |
1055 | (mark_type_abi_tags): Don't look at template args. | |
1056 | (inherit_targ_abi_tags): New. | |
1057 | (check_bases_and_members): Use it. | |
1058 | * cp-tree.h (ABI_TAG_IMPLICIT): New. | |
1059 | * mangle.c (write_abi_tags): Check it. | |
1060 | ||
5a5e7deb JM |
1061 | 2014-01-07 Jason Merrill <jason@redhat.com> |
1062 | ||
1b7ac922 JM |
1063 | PR c++/58856 |
1064 | * pt.c (num_innermost_template_parms): New. | |
1065 | (get_underlying_template): Use it. | |
1066 | ||
5a5e7deb JM |
1067 | PR c++/58965 |
1068 | * mangle.c (write_guarded_var_name): Handle null DECL_NAME. | |
1069 | ||
1f872df7 PC |
1070 | 2014-01-07 Paolo Carlini <paolo.carlini@oracle.com> |
1071 | ||
1072 | * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement | |
1073 | the letter of 20.11.6 about Base and Derived naming the same | |
1074 | class type modulo cv-qualifiers. | |
1075 | ||
2c8c6273 AB |
1076 | 2014-01-06 Adam Butcher <adam@jessamine.co.uk> |
1077 | ||
1078 | PR c++/59635 | |
529a6471 | 1079 | * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion |
2c8c6273 AB |
1080 | function as unimplemented for generic lambdas with varargs. |
1081 | ||
81fdaa17 | 1082 | PR c++/59636 |
529a6471 | 1083 | * parser.c (cp_parser_template_parameter): Early out with |
81fdaa17 AB |
1084 | error_mark_node if parameter declaration was not parsed. |
1085 | ||
2418d7da | 1086 | PR c++/59629 |
529a6471 | 1087 | * parser.c (cp_parser_lambda_expression): Save/reset/restore |
2418d7da AB |
1088 | auto_is_implicit_function_template_parm_p around lambda body. |
1089 | ||
aaa15a0d | 1090 | PR c++/59638 |
529a6471 | 1091 | * parser.c (cp_parser_init_declarator): Undo fully implicit |
aaa15a0d AB |
1092 | template parameter list when declarator is not a function. |
1093 | ||
5c67ba02 MG |
1094 | 2014-01-03 Marc Glisse <marc.glisse@inria.fr> |
1095 | ||
1096 | PR c++/58950 | |
1097 | * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR. | |
1098 | ||
54a990d3 TB |
1099 | 2014-01-03 Tobias Burnus <burnus@net-b.de> |
1100 | ||
1101 | PR c++/58567 | |
1102 | * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node. | |
1103 | ||
cdc23b1b PC |
1104 | 2014-01-03 Paolo Carlini <paolo.carlini@oracle.com> |
1105 | ||
1106 | Core DR 1442 | |
1107 | PR c++/59165 | |
1108 | * parser.c (cp_parser_perform_range_for_lookup): Don't pass true | |
1109 | as include_std to perform_koenig_lookup. | |
1110 | (cp_parser_postfix_expression): Adjust. | |
1111 | * pt.c (tsubst_copy_and_build): Likewise. | |
1112 | * semantics.c (perform_koenig_lookup): Remove bool parameter. | |
1113 | (omp_reduction_lookup): Adjust. | |
1114 | * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter. | |
1115 | (lookup_arg_dependent): Likewise. | |
1116 | (lookup_function_nonclass): Adjust. | |
1117 | * name-lookup.h: Adjust declaration. | |
1118 | * cp-tree.h: Likewise. | |
1119 | ||
33270bf6 MG |
1120 | 2014-01-02 Marc Glisse <marc.glisse@inria.fr> |
1121 | ||
1122 | PR c++/59087 | |
1123 | * parser.c (cp_parser_userdef_numeric_literal): Mention | |
1124 | -fext-numeric-literals in the message. | |
1125 | ||
25c541b4 MG |
1126 | 2014-01-02 Marc Glisse <marc.glisse@inria.fr> |
1127 | ||
1128 | PR c++/59641 | |
1129 | * call.c (build_conditional_expr_1): Check the return value of | |
1130 | force_rvalue. | |
1131 | ||
1a763062 MG |
1132 | 2014-01-02 Marc Glisse <marc.glisse@inria.fr> |
1133 | ||
1134 | * call.c (convert_like_real): Check complain. | |
1135 | ||
4939c5f3 MG |
1136 | 2014-01-02 Marc Glisse <marc.glisse@inria.fr> |
1137 | ||
1138 | PR c++/59378 | |
1139 | * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments | |
1140 | in templates. | |
1141 | ||
23a5b65a RS |
1142 | 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
1143 | ||
1144 | Update copyright years | |
1145 | ||
f9030485 RS |
1146 | 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
1147 | ||
1148 | * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use | |
1149 | the standard form for the copyright notice. | |
ad41bd84 | 1150 | \f |
2eed95b0 | 1151 | Copyright (C) 2014 Free Software Foundation, Inc. |
ad41bd84 JM |
1152 | |
1153 | Copying and distribution of this file, with or without modification, | |
1154 | are permitted in any medium without royalty provided the copyright | |
1155 | notice and this notice are preserved. |