re PR c++/51253 ([C++11][DR 1030] Evaluation order (sequenced-before relation) among...
[gcc.git] / gcc / cp / ChangeLog
1 2014-06-04 Jason Merrill <jason@redhat.com>
2
3 PR c++/51253
4 PR c++/61382
5 * cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPR_LIST_INIT_P here.
6 * semantics.c (simplify_aggr_init_expr): Not here, just copy it.
7
8 2014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
9
10 PR c/58942
11 * cp-array-notation.c (expand_sec_reduce_builtin): Handle the case
12 with a pointer.
13
14 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
15
16 DR 1423
17 PR c++/52174
18 * call.c (standard_conversion): Convert nullptr to bool only
19 in case of direct-initialization.
20 (convert_like_real): Provide informative error message.
21
22 2014-06-03 Marek Polacek <polacek@redhat.com>
23
24 PR c/60439
25 * semantics.c (finish_switch_cond): Warn if switch condition has
26 boolean value.
27
28 2014-06-03 Jason Merrill <jason@redhat.com>
29
30 PR c++/60992
31 * pt.c (tsubst_copy) [VAR_DECL]: Try lookup first. Add a new
32 variable to local_specializations.
33
34 PR c++/60848
35 * call.c (is_std_init_list): Check CLASSTYPE_TEMPLATE_INFO.
36
37 2014-06-02 Jason Merrill <jason@redhat.com>
38
39 PR c++/61046
40 * decl.c (reshape_init_class): Handle un-folded
41 constant-expressions.
42
43 PR c++/61134
44 * pt.c (pack_deducible_p): Handle canonicalization.
45
46 2014-06-02 Paolo Carlini <paolo.carlini@oracle.com>
47
48 * pt.c (tsubst_function_type): Initialize arg_types.
49
50 2014-06-02 Siva Chandra Reddy <sivachandra@google.com>
51
52 PR debug/57519
53 * class.c (handle_using_decl): Pass the correct scope to
54 cp_emit_debug_info_for_using.
55
56 2014-06-02 Ville Voutilainen <ville.voutilainen@gmail.com>
57
58 PR c++/59483
59 PR c++/61148
60 * search.c (accessible_p): Use current_nonlambda_class_type.
61 * semantics.c (check_accessibility_of_qualified_id): Likewise.
62
63 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
64
65 * decl.c: Include builtins.h.
66 * semantics.c: Likewise.
67
68 2014-05-31 Paolo Carlini <paolo.carlini@oracle.com>
69
70 DR 1227
71 PR c++/57543
72 * cp-tree.h (TYPE_HAS_LATE_RETURN_TYPE): Add.
73 * pt.c (tsubst_function_type): Inject the this parameter; do the
74 substitutions in the order mandated by the DR.
75 (copy_default_args_to_explicit_spec): Copy TYPE_HAS_LATE_RETURN_TYPE.
76 * decl.c (grokdeclarator): Maybe set TYPE_HAS_LATE_RETURN_TYPE.
77 (static_fn_type): Copy it.
78 * decl2.c (build_memfn_type, change_return_type,
79 cp_reconstruct_complex_type): Likewise.
80 * parser.c (cp_parser_lambda_declarator_opt): Likewise.
81 * tree.c (strip_typedefs): Likewise.
82 * typeck.c (merge_types): Likewise.
83
84 2014-05-30 Jason Merrill <jason@redhat.com>
85
86 PR c++/56947
87 * pt.c (instantiate_decl): Check that defer_ok is not set for
88 local class members.
89
90 PR c++/60992
91 * pt.c (tsubst_init): Split out from...
92 (tsubst_expr) [DECL_EXPR]: Here.
93 (tsubst_copy) [VAR_DECL]: Use it.
94 * semantics.c (finish_id_expression): Return the decl for static/const.
95
96 2014-05-28 Jason Merrill <jason@redhat.com>
97
98 PR c++/47202
99 * decl.c (cxx_comdat_group): Return a decl.
100 * optimize.c (cdtor_comdat_group): Get its DECL_ASSEMBLER_NAME.
101
102 * pt.c (tsubst) [ARRAY_TYPE]: Check for array of array of unknown
103 bound.
104
105 PR c++/61242
106 * call.c (build_aggr_conv): Ignore passed in flags.
107 (build_array_conv, build_complex_conv): Likewise.
108
109 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
110
111 * optimize.c (maybe_thunk_body): Use set_comdat_group.
112 (maybe_clone_body): Likewise.
113 * decl.c (duplicate_decls): Update code duplicating comdat group;
114 do not copy symtab pointer; before freeing newdecl remove it
115 from symtab.
116 * decl2.c (constrain_visibility): Use set_comdat_group.
117
118 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
119
120 * rtti.c: Include tm_p.h
121 (emit_tinfo_decl): Force RTTI data to be aligned to required
122 ABI alignment only.
123
124 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
125
126 * class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
127 ignoring other target adjustments.
128
129 2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
130
131 * semantics.c (finish_omp_clauses): Remove duplicated variable
132 initialization.
133
134 * parser.c (cp_parser_omp_target): Return bool values.
135
136 2014-05-22 Paolo Carlini <paolo.carlini@oracle.com>
137
138 PR c++/61088
139 * lambda.c (add_capture): Enforce that capture by value requires
140 complete type.
141 * typeck2.c (cxx_incomplete_type_inform): Early return if
142 TYPE_MAIN_DECL is null.
143
144 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
145
146 PR c/61271
147 * cp-array-notation.c (cilkplus_an_triplet_types_ok_p): Fix condition.
148
149 2014-05-21 Ville Voutilainen <ville.voutilainen@gmail.com>
150
151 PR c++/61133
152 * lambda.c (build_capture_proxy, add_capture): Treat normal
153 captures and init-captures identically.
154
155 2014-05-21 Mark Wielaard <mjw@redhat.com>
156
157 PR debug/16063
158 * cp-lang.c (cxx_enum_underlying_base_type): New function.
159 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define.
160
161 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
162
163 * cvt.c (convert_to_void): Use void_node instead of void_zero_node.
164 * cp-array-notation.c (replace_invariant_exprs): Likewise.
165 (expand_array_notation): Handle VOID_CST.
166 * error.c (dump_expr): Likewise.
167 * cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
168 (cxx_pretty_printer::expression): Likewise.
169 (pp_cxx_new_expression): Use void_node instead of void_zero_node.
170 * decl.c (register_dtor_fn): Likewise.
171 * init.c (build_raw_new_expr, build_new_1, build_vec_init)
172 (build_delete, push_base_cleanups): Likewise.
173 * mangle.c (write_expression): Likewise.
174 * semantics.c (finish_break_stmt, empty_expr_stmt_p): Likewise.
175 * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
176 (tsubst, tsubst_copy, build_non_dependent_expr): Handle VOID_CST.
177 * tree.c (cp_tree_equal): Likewise.
178 (build_dummy_object, is_dummy_object, stabilize_expr): Use void_node
179 instead of void_zero_node.
180 * typeck.c (check_return_expr): Likewise.
181 * typeck2.c (build_functional_cast): Likewise.
182
183 2014-05-21 Igor Zamyatin <igor.zamyatin@intel.com>
184
185 PR c/60189
186 * parser.c (cp_parser_postfix_expression): Move handling of cilk_sync
187 from here to...
188 (cp_parser_statement): ...here. Make sure only semicolon can go after
189 Cilk_sync.
190
191 2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
192
193 PR c++/58753
194 PR c++/58930
195 PR c++/58704
196 * typeck2.c (digest_nsdmi_init): New.
197 * parser.c (cp_parser_late_parse_one_default_arg): Use it.
198 * init.c (get_nsdmi): Likewise.
199 * cp-tree.h (digest_nsdmi_init): Declare.
200
201 2014-05-20 Jason Merrill <jason@redhat.com>
202
203 * typeck.c (get_member_function_from_ptrfunc): Don't try to look
204 up a virtual function in a dummy object.
205
206 2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
207
208 PR c++/60373
209 * decl.c (duplicate_decls): Replace pair of warning_at with
210 warning_at + inform.
211 (maybe_commonize_var): Likewise.
212
213 2014-05-20 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
214
215 PR bootstrap/61210
216 * pt.c (tsubst_copy, tsubst_omp_for_iterator, tsubst_expr)
217 (tsubst_copy_and_build): Perform recursive substitutions in a
218 deterministic order.
219
220 2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
221
222 PR c++/58664
223 * typeck2.c (cxx_incomplete_type_inform): New.
224 (cxx_incomplete_type_diagnostic): Use it.
225 * decl.c (grokdeclarator): Check the element type of an
226 incomplete array type; call the above.
227 * cp-tree.h (cxx_incomplete_type_inform): Declare.
228
229 2014-05-19 Jason Merrill <jason@redhat.com>
230
231 PR c++/58761
232 * pt.c (tsubst_copy): Don't check at_function_scope_p.
233 (instantiate_class_template_1): Don't push_to_top_level in an nsdmi.
234
235 2014-05-19 Paolo Carlini <paolo.carlini@oracle.com>
236
237 * typeck2.c (cxx_incomplete_type_diagnostic): Use inform.
238 * parser.c (cp_parser_enum_specifier): Likewise.
239
240 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
241
242 * class.c (sorted_fields_type_new): Adjust.
243 * cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Likewise.
244 * cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
245 * cp-tree.h: Remove usage of variable_size gty attribute.
246 * decl.c (make_label_decl): Adjust.
247 (check_goto): Likewise.
248 (start_preparsed_function): Likewise.
249 (save_function_data): Likewise.
250 * lex.c (init_reswords): Likewise.
251 (retrofit_lang_decl): Likewise.
252 (cxx_dup_lang_specific_decl): Likewise.
253 (copy_lang_type): Likewise.
254 (cxx_make_type): Likewise.
255 * name-lookup.c (binding_entry_make): Likewise.
256 (binding_table_construct): Likewise.
257 (binding_table_new): Likewise.
258 (cxx_binding_make): Likewise.
259 (pushdecl_maybe_friend_1): Likewise.
260 (begin_scope): Likewise.
261 (push_to_top_level): Likewise.
262 * parser.c (cp_lexer_alloc): Likewise.
263 (cp_lexer_new_from_tokens): Likewise.
264 (cp_token_cache_new): Likewise.
265 (cp_parser_context_new): Likewise.
266 (cp_parser_new): Likewise.
267 (cp_parser_nested_name_specifier_opt): Likewise.
268 (cp_parser_template_id): Likewise.
269 * pt.c (maybe_process_partial_specialization): Likewise.
270 (register_specialization): Likewise.
271 (add_pending_template): Likewise.
272 (lookup_template_class_1): Likewise.
273 (push_tinst_level): Likewise.
274 * semantics.c (register_constexpr_fundef): Likewise.
275 (cxx_eval_call_expression): Likewise.
276 * typeck2.c (abstract_virtuals_error_sfinae): Likewise.
277
278 2014-05-16 Paolo Carlini <paolo.carlini@oracle.com>
279
280 PR c++/51640
281 * parser.c (cp_parser_diagnose_invalid_type_name): Early return
282 when cp_parser_lookup_name sets ambiguous_decls.
283
284 2014-05-15 Jason Merrill <jason@redhat.com>
285
286 * call.c (print_conversion_rejection): Use loc consistently.
287
288 2014-05-14 Paolo Carlini <paolo.carlini@oracle.com>
289
290 * cp-tree.h (DIRECT_LIST_INIT_P): Add.
291 * call.c (convert_like_real, build_new_method_call_1): Use it.
292 * decl2.c (grokfield): Likewise.
293 * init.c (perform_member_init, build_aggr_init, expand_default_init,
294 build_new_1): Likewise.
295 * mangle.c (write_expression): Likewise.
296 * parser.c (cp_parser_late_parse_one_default_arg): Likewise.
297
298 2014-05-14 Jason Merrill <jason@redhat.com>
299
300 PR c++/20332
301 PR c++/21631
302 * call.c (reference_binding): Treat lvalue/rvalue mismatch and
303 dropped cv-quals as a bad conversion.
304 (convert_like_real) [ck_ref_bind]: Explain them.
305 (compare_ics): Check badness before stripping reference
306 bindings. Handle comparing bad reference bindings.
307 * typeck.c (comp_cv_qualification): Add overload that just takes
308 integers.
309 * cp-tree.h: Declare it.
310
311 * call.c (struct conversion_info): Rename 'from_type' to 'from'.
312 (arg_conversion_rejection, bad_arg_conversion_rejection)
313 (explicit_conversion_rejection, template_conversion_rejection): Adjust.
314 (add_function_candidate): Pass actual argument, rather than type, to
315 bad_arg_conversion_rejection.
316 (print_conversion_rejection): Explain what's wrong with the conversion.
317 (print_z_candidates): Say "candidate:" before each candidate.
318 (splice_viable): Be strict if we see a viable or template candidate.
319 (build_user_type_conversion_1): Pass false to strict parameter.
320 (perform_overload_resolution, build_conditional_expr_1): Likewise.
321 (build_new_op_1, build_new_method_call_1): Likewise.
322 (build_op_call_1): Pass true to strict parameter.
323
324 2014-05-13 Jason Merrill <jason@redhat.com>
325
326 * call.c (print_error_for_call_failure): Say "no match" rather
327 than "ambiguous" if there were no strict matches.
328 (build_new_method_call_1): Likewise.
329
330 PR c++/61151
331 * semantics.c (is_this_parameter): Allow capture proxies too.
332
333 2014-05-12 Jason Merrill <jason@redhat.com>
334
335 * call.c (maybe_print_user_conv_context): New.
336 (convert_like_real): Use it. Print call context for bad
337 user-defined conversion.
338 (build_over_call): Print call context for bad 'this' conversion.
339
340 * call.c (convert_like_real): Use inform for identifying the
341 declaration point.
342
343 2014-05-12 Paolo Carlini <paolo.carlini@oracle.com>
344
345 * cvt.c (cp_convert_to_pointer): Don't call error_at if
346 complain & tf_error is false.
347
348 * decl.c (make_unbound_class_template): Prefer inform for
349 "declared here"-type message.
350
351 2014-05-09 Momchil Velikov <momchil.velikov@gmail.com>
352
353 PR c++/60463
354 PR c++/60755
355 * lambda.c (lambda_expr_this_capture): Add new parameter
356 add_capture_p controlling whether the functions will try to
357 capture 'this' via the default capture.
358 (maybe_resolve_dummy): Likewise.
359 * cp-tree.h: Adjust prototypes.
360 * call.c, semantics.c: Change callers of these functions.
361 * call.c (build_new_method_call_1): Use the actual 'this' that
362 would be potentially captured for the overload resolution, instead
363 of the dummy object.
364
365 2014-05-09 Paolo Carlini <paolo.carlini@oracle.com>
366
367 * pt.c (convert_nontype_argument_function): Add tsubst_flags_t
368 parameter.
369 (convert_nontype_argument): Adjust calls.
370 (coerce_template_parameter_pack): Add missing complain & tf_error
371 check.
372
373 2014-05-09 Jason Merrill <jason@redhat.com>
374
375 DR 587
376 PR c++/51317
377 * call.c (build_conditional_expr_1, conditional_conversion): Handle
378 non-class lvalues and xvalues that differ only in cv-qualifiers.
379
380 DR 5
381 PR c++/60019
382 * call.c (build_user_type_conversion_1): The copy-init temporary
383 is cv-unqualified.
384
385 PR c++/58714
386 * tree.c (stabilize_expr): A stabilized prvalue is an xvalue.
387
388 PR c++/54348
389 * call.c (build_conditional_expr_1): If overload resolution finds
390 no match, just say "different types".
391
392 PR c++/32019
393 * call.c (build_conditional_expr_1): Improve ambiguity diagnostic.
394
395 PR c++/22434
396 * call.c (build_conditional_expr_1): Don't try to pool cv-quals
397 if we didn't find a conversion.
398 Don't accept a bad conversion too early.
399
400 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
401
402 PR c++/13981
403 * typeck.c (convert_for_assignment): Provide an inform for pointers
404 to incomplete class types.
405
406 2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
407
408 PR c++/61083
409 * pt.c (convert_nontype_argument): Protect all the error calls
410 with complain & tf_error.
411
412 2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
413
414 PR c++/61080
415 * pt.c (instantiate_decl): Avoid generating the body of a
416 deleted function.
417
418 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
419
420 PR c++/60999
421 * pt.c (maybe_begin_member_template_processing): Use
422 uses_template_parms.
423
424 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
425 Mike Stump <mikestump@comcast.net>
426 Richard Sandiford <rdsandiford@googlemail.com>
427
428 * call.c: Include wide-int.h.
429 (type_passed_as): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
430 (convert_for_arg_passing): Likewise.
431 * class.c: Include wide-int.h.
432 (walk_subobject_offsets): Use tree_int_cst_lt instead of INT_CST_LT.
433 (end_of_class): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
434 (include_empty_classes): Likewise
435 (layout_class_type): Use tree_int_cst_lt instead of INT_CST_LT.
436 * cvt.c: Include wide-int.h.
437 (ignore_overflows): Use wide_int_to_tree.
438 * decl.c: Include wide-int.h.
439 (check_array_designated_initializer): Use wide-int interfaces.
440 (compute_array_index_type): Use tree_int_cst_lt instead of INT_CST_LT.
441 (finish_enum_value_list): Use signop.
442 (build_enumerator): Use wide-int interfaces.
443 * init.c: Include wide-int.h.
444 (build_new_1): Use wide-int interfaces.
445 * mangle.c: Include wide-int.h.
446 (write_integer_cst): Use wide-int interfaces.
447 (write_array_type): Likewise.
448 * tree.c: Include wide-int.h.
449 (cp_tree_equal): Use tree_int_cst_equal.
450 * typeck2.c: Include wide-int.h.
451 (process_init_constructor_array): Use wide-int interfaces.
452
453 2014-05-03 Paolo Carlini <paolo.carlini@oracle.com>
454
455 PR c++/58582
456 * decl.c (grokfndecl): Check duplicate_decls return value for
457 error_mark_node.
458 * pt.c (instantiate_decl): A deleted function is defined.
459
460 2014-05-02 Jason Merrill <jason@redhat.com>
461
462 * decl2.c (vague_linkage_p): Local statics have vague linkage.
463
464 PR c++/60992
465 * lambda.c (lambda_capture_field_type): Wrap anything dependent
466 other than 'this'.
467 (add_capture): Check for VLA before calling it.
468 * semantics.c (is_this_parameter): Accept any 'this' parameter, not
469 just the current one. Make non-static.
470 * cp-tree.h: Declare it.
471 * pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if
472 the operand was static or constant.
473
474 2014-05-02 Marek Polacek <polacek@redhat.com>
475
476 * typeck.c (maybe_warn_about_returning_address_of_local): Separate
477 warning_at calls.
478
479 2014-05-01 Marek Polacek <polacek@redhat.com>
480
481 PR c/43395
482 * typeck.c (maybe_warn_about_returning_address_of_local): Distinguish
483 between label and variable when warning about returning local address.
484
485 2014-04-30 Jason Merrill <jason@redhat.com>
486
487 PR c++/60980
488 * init.c (build_value_init): Don't try to call an array constructor.
489
490 PR c++/60951
491 * typeck2.c (massage_init_elt): Use maybe_constant_init.
492
493 2014-04-30 Marek Polacek <polacek@redhat.com>
494
495 * typeck.c (cp_build_binary_op): Call ubsan_instrument_division
496 even when SANITIZE_FLOAT_DIVIDE is on. Set doing_div_or_mod even
497 for non-integer types.
498
499 2014-04-29 Jason Merrill <jason@redhat.com>
500
501 DR 1351
502 Represent the unevaluated exception specification of an implicitly
503 declared or deleted function with a simple placeholder, not a list
504 of functions.
505 * cp-tree.h (UNEVALUATED_NOEXCEPT_SPEC_P): New.
506 * except.c (unevaluated_noexcept_spec): New.
507 * class.c (deduce_noexcept_on_destructor): Use it.
508 * decl.c (check_redeclaration_exception_specification): Call
509 maybe_instantiate_noexcept.
510 (duplicate_decls): Call it before merge_types.
511 (start_preparsed_function): Call maybe_instantiate_noexcept.
512 * decl2.c (mark_used): Call maybe_instantiate_noexcept earlier.
513 * init.c (get_nsdmi): Factor out of perform_member_init.
514 * method.c (process_subob_fn): Call maybe_instantiate_noexcept.
515 (walk_field_subobs): Consider NSDMI for EH spec.
516 (get_defaulted_eh_spec): New.
517 (implicitly_declare_fn): Use unevaluated_noexcept_spec.
518 (defaulted_late_check): Defer EH checking in non-template classes.
519 (after_nsdmi_defaulted_late_checks): New.
520 * parser.c (cp_parser_class_specifier_1): Use it.
521 (unparsed_classes): New macro.
522 * parser.h (cp_unparsed_functions_entry_d): Add classes field.
523 * pt.c (maybe_instantiate_noexcept): Use get_defaulted_eh_spec.
524 Remove list-of-functions handling.
525 * typeck2.c (merge_exception_specifiers): Remove list-of-functions
526 handling and FN parameter.
527 * typeck.c (merge_types): Adjust.
528
529 2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
530
531 PR c++/59120
532 * parser.c (cp_parser_alias_declaration): Check return value of
533 cp_parser_require.
534
535 2014-04-24 Jakub Jelinek <jakub@redhat.com>
536
537 * parser.c (cp_parser_omp_atomic): Allow seq_cst before
538 atomic-clause, allow comma in between atomic-clause and
539 seq_cst.
540
541 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
542
543 PR libstdc++/43622
544 * rtti.c (emit_support_tinfos): Do not iterate on
545 registered_builtin_types (partial revert).
546
547 2014-04-23 Dinar Temirbulatov <dtemirbulatov@gmail.com>
548
549 PR c++/57958
550 * semantics.c (apply_deduced_return_type): Complete non-void type
551 before estimating whether the type is aggregate.
552
553 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
554
555 PR libstdc++/43622
556 * rtti.c (emit_support_tinfo_1): New function, extracted from
557 emit_support_tinfos.
558 (emit_support_tinfos): Call it and iterate on registered_builtin_types.
559
560 2014-04-22 Jakub Jelinek <jakub@redhat.com>
561
562 PR c/59073
563 * parser.c (cp_parser_omp_parallel): If cp_parser_omp_for
564 fails, don't set OM_PARALLEL_COMBINED and return NULL.
565
566 2014-04-18 Jason Merrill <jason@redhat.com>
567
568 DR 1571
569 * call.c (reference_binding): Recurse on user-defined conversion.
570
571 PR c++/60872
572 * call.c (standard_conversion): Don't try to apply restrict to void.
573
574 2014-04-16 Marc Glisse <marc.glisse@inria.fr>
575
576 * decl.c (reshape_init_r): Handle a single element of vector type.
577
578 2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
579
580 PR c++/60765
581 * decl2.c (cplus_decl_attributes): Handle
582 pointer-to-member-function declarations.
583
584 2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
585
586 PR c++/60764
587 * call.c (build_user_type_coversion): Use build_dummy_object
588 to create the placeholder object for a constructor method call.
589 (build_special_member_call): Likewise.
590 (build_over_call): Check for the placeholder object with
591 is_dummy_object.
592 (build_new_method_call_1): Likewise. Don't attempt to resolve
593 a dummy object for a constructor method call.
594
595 2014-04-16 Paul Pluzhnikov <ppluzhnikov@google.com>
596
597 PR c++/59295
598 * friend.c (add_friend, make_friend_class): Move repeated friend
599 warning under Wredundant_decls.
600
601 2014-04-15 Paolo Carlini <paolo.carlini@oracle.com>
602
603 * decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
604 * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
605 (do_class_using_decl): Likewise.
606 * mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
607
608 2014-04-15 Jakub Jelinek <jakub@redhat.com>
609
610 PR plugins/59335
611 * Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h.
612
613 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
614
615 * cp-tree.h (TYPE_IDENTIFIER): Remove declaration.
616
617 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
618
619 * pt.c (mark_template_parm): Use template_parm_level_and_index.
620
621 2014-04-11 Jason Merrill <jason@redhat.com>
622
623 * parser.h (struct cp_token): Rename ambiguous_p to error_reported.
624 * parser.c: Adjust.
625 (cp_lexer_get_preprocessor_token): Always clear it.
626 (cp_parser_lambda_expression): Use it to avoid duplicate diagnostics.
627
628 DR 1467
629 PR c++/51747
630 * decl.c (reshape_init_r): Handle a single element of class type.
631
632 DR 1338
633 * decl.c (cxx_init_decl_processing): Set DECL_IS_MALLOC on
634 built-in operator new.
635
636 2014-04-11 Paolo Carlini <paolo.carlini@oracle.com>
637
638 PR c++/58600
639 * name-lookup.c (parse_using_directive): Return early if the
640 attribs argument is error_mark_node; use get_attribute_name.
641
642 2014-04-11 Jason Merrill <jason@redhat.com>
643
644 DR 1030
645 PR c++/51253
646 * cp-tree.h (CALL_EXPR_LIST_INIT_P): New.
647 * call.c (struct z_candidate): Add flags field.
648 (add_candidate): Add flags parm.
649 (add_function_candidate, add_conv_candidate, build_builtin_candidate)
650 (add_template_candidate_real): Pass it.
651 (build_over_call): Set CALL_EXPR_LIST_INIT_P.
652 * tree.c (build_aggr_init_expr): Copy it.
653 * semantics.c (simplify_aggr_init_expr): Preevaluate args if it's set.
654
655 2014-04-10 Richard Biener <rguenther@suse.de>
656 Jakub Jelinek <jakub@redhat.com>
657
658 PR ipa/60761
659 * error.c (dump_decl) <case FUNCTION_DECL>: If
660 DECL_LANG_SPECIFIC is NULL, but DECL_ABSTRACT_ORIGIN is not,
661 recurse on DECL_ABSTRACT_ORIGIN instead of printing
662 <built-in>.
663
664 2014-04-09 Fabien Chêne <fabien@gcc.gnu.org>
665
666 * pt.c (check_template_variable): Check for the return of pedwarn
667 before emitting a note.
668 * parser.c (cp_parser_lambda_introducer): Likewise.
669
670 2014-04-08 Paolo Carlini <paolo.carlini@oracle.com>
671
672 PR c++/59115
673 * pt.c (process_template_parm): For an invalid non-type parameter
674 only set TREE_TYPE to error_mark_node.
675 (push_inline_template_parms_recursive, comp_template_parms,
676 redeclare_class_template, coerce_template_template_parm,
677 coerce_template_template_parms, unify): Use error_operand_p.
678
679 2014-04-08 Nathan Sidwell <nathan@codesourcery.com>
680
681 * class.c (check_bases_and_members): Warn about non-virtual dtors
682 in public bases only. Check warn_ecpp before complaining about
683 non-polymorphic bases.
684
685 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
686
687 * decl.c (duplicate_decls): Check for the return of warning_at
688 before emitting a note.
689 (warn_misplaced_attr_for_class_type): Likewise.
690 (check_tag_decl): Likewise.
691
692 2014-04-04 Paolo Carlini <paolo.carlini@oracle.com>
693
694 PR c++/58207
695 * semantics.c (sort_constexpr_mem_initializers): Robustify loop.
696
697 2014-04-04 Patrick Palka <patrick@parcs.ath.cx>
698
699 PR c++/44613
700 * semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL.
701 * decl.c (cp_finish_decl): Create a new BIND_EXPR before
702 instantiating a variable-sized type.
703
704 PR c++/21113
705 * decl.c (decl_jump_unsafe): Consider variably-modified decls.
706
707 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
708
709 * class.c (find_abi_tags_r): Check for the return of warning
710 before emitting a note.
711 (one_inherited_ctor): Likewise.
712
713 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
714
715 * decl.c (duplicate_decls): Check for the return of permerror
716 before emitting a note.
717
718 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
719
720 * class.c (accessible_nvdtor_p): New.
721 (check_bases): Don't check base destructor here ...
722 (check_bases_and_members): ... check them here. Trigger on
723 Wnon-virtual-dtor flag.
724 (finish_struct_1): Use accessible_nvdtor_p.
725
726 2014-04-01 Jason Merrill <jason@redhat.com>
727
728 * pt.c (process_partial_specialization): Say "not deducible"
729 rather than "not used". Use inform.
730
731 PR c++/60374
732 * pt.c (coerce_template_parms): Check that the pack expansion
733 pattern works with the first matching parameter.
734
735 2014-04-01 Fabien Chêne <fabien@gcc.gnu.org>
736
737 * init.c (perform_member_init): Homogenize uninitialized
738 diagnostics.
739
740 2014-04-01 Jason Merrill <jason@redhat.com>
741
742 PR c++/60708
743 * call.c (build_array_conv): Call complete_type.
744
745 PR c++/60713
746 * typeck2.c (PICFLAG_SIDE_EFFECTS): New.
747 (picflag_from_initializer): Return it.
748 (process_init_constructor): Handle it.
749
750 PR c++/60642
751 * decl2.c (is_late_template_attribute): Don't defer abi_tag.
752 * mangle.c (write_unqualified_name): Fix abi_tag on templates.
753 * pt.c (get_template_info): Handle NAMESPACE_DECL.
754 (most_general_template): Handle more kinds of template.
755 * tree.c (handle_abi_tag_attribute): Ignore abi_tag on template
756 instantiations and specializations.
757
758 2014-03-31 Patrick Palka <patrick@parcs.ath.cx>
759
760 PR c++/44859
761 * typeck.c (maybe_warn_about_returning_address_of_local): Unwrap
762 COMPONENT_REFs and ARRAY_REFs sooner.
763
764 2014-03-29 Adam Butcher <adam@jessamine.co.uk>
765
766 PR c++/60626
767 * parser.c (cp_parser_init_declarator): Handle erroneous generic type
768 usage in non-functions with pushed scope.
769
770 2014-03-28 Adam Butcher <adam@jessamine.co.uk>
771
772 PR c++/60573
773 * name-lookup.h (cp_binding_level): New transient field defining_class_p
774 to indicate whether a scope is in the process of defining a class.
775 * semantics.c (begin_class_definition): Set defining_class_p.
776 * name-lookup.c (leave_scope): Reset defining_class_p.
777 * parser.c (synthesize_implicit_template_parm): Use cp_binding_level::
778 defining_class_p rather than TYPE_BEING_DEFINED as the predicate for
779 unwinding to class-defining scope to handle the erroneous definition of
780 a generic function of an arbitrarily nested class within an enclosing
781 class.
782
783 2014-03-26 Fabien Chêne <fabien@gcc.gnu.org>
784
785 PR c++/52369
786 * method.c (walk_field_subobs): Improve the diagnostic
787 locations for both REFERENCE_TYPEs and non-static const members.
788 * init.c (diagnose_uninitialized_cst_or_ref_member): Use %q#D
789 instead of %qD to be consistent with the c++11 diagnostic.
790
791 2014-03-25 Jason Merrill <jason@redhat.com>
792
793 PR c++/60566
794 PR c++/58678
795 * class.c (build_vtbl_initializer): Handle abstract dtors here.
796 * search.c (get_pure_virtuals): Not here.
797
798 PR c++/60375
799 * parser.c (cp_parser_lambda_expression): Don't parse the body of
800 a lambda in unevaluated context.
801
802 PR c++/60628
803 * decl.c (create_array_type_for_decl): Complain about array of auto.
804
805 2014-03-25 Jakub Jelinek <jakub@redhat.com>
806
807 PR c++/60331
808 * semantics.c (potential_constant_expression_1): Handle
809 DECL_EXPR.
810
811 2014-03-24 Adam Butcher <adam@jessamine.co.uk>
812
813 PR c++/60627
814 * parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from
815 introducing an implicit function template parameter within an explicit
816 instantiation.
817
818 2014-03-22 Jason Merrill <jason@redhat.com>
819
820 PR c++/60574
821 * decl.c (grokdeclarator): Change permerror about 'virtual auto'
822 to error.
823
824 2014-03-21 Paolo Carlini <paolo.carlini@oracle.com>
825
826 PR c++/60384
827 * name-lookup.c (push_class_level_binding_1): Check identifier_p
828 on the name argument.
829
830 2014-03-20 Jakub Jelinek <jakub@redhat.com>
831
832 PR c++/60572
833 * init.c (build_zero_init_1): Ignore fields with error_mark_node
834 type.
835
836 2014-03-19 Paolo Carlini <paolo.carlini@oracle.com>
837
838 PR c++/51474
839 * call.c (build_new_method_call_1): Handle pure virtuals called by
840 NSDMIs too.
841
842 2014-03-17 Adam Butcher <adam@jessamine.co.uk>
843
844 PR c++/60390
845 * parser.c (cp_parser_member_declaration): Don't allow
846 finish_fully_implicit_template to consider friend declarations to be
847 class member templates.
848 (synthesize_implicit_template_parm): Handling winding back through class
849 scope to the class being defined in order to inject a template argument
850 list.
851
852 PR c++/60391
853 * parser.c (cp_parser_skip_to_end_of_block_or_statement): Unwind generic
854 function scope as per cp_parser_skip_to_end_of_statement.
855
856 2014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
857
858 PR c++/59571
859 * typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae.
860
861 2014-03-14 Jason Merrill <jason@redhat.com>
862
863 PR c++/60532
864 PR c++/58678
865 * search.c (get_pure_virtuals): Handle abstract dtor here.
866 (dfs_get_pure_virtuals): Not here.
867
868 PR c++/58678
869 * search.c (dfs_get_pure_virtuals): Treat the destructor of an
870 abstract class as pure.
871
872 2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
873
874 PR c++/60383
875 * pt.c (maybe_process_partial_specialization): Check return value
876 of check_specialization_namespace.
877
878 2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
879
880 PR c++/60254
881 * semantics.c (finish_static_assert): Call cxx_constant_value only
882 if require_potential_rvalue_constant_expression returns true.
883
884 2014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
885
886 PR c++/60389
887 * method.c (get_inherited_ctor): New.
888 * cp-tree.h (get_inherited_ctor): Declare it.
889 * semantics.c (is_valid_constexpr_fn): Use it.
890
891 2014-03-10 Jason Merrill <jason@redhat.com>
892
893 PR c++/60367
894 * call.c (convert_default_arg): Remove special handling for
895 CONSTRUCTOR.
896
897 PR c++/53492
898 * parser.c (cp_parser_class_head): Also check PRIMARY_TEMPLATE_P
899 when deciding whether to call push_template_decl for a member class.
900 * pt.c (push_template_decl_real): Return after wrong levels error.
901
902 2014-03-08 Adam Butcher <adam@jessamine.co.uk>
903
904 PR c++/60033
905 * pt.c (tsubst_copy): When retrieving a capture pack from a generic
906 lambda, remove the lambda's own template argument list prior to fetching
907 the specialization.
908
909 PR c++/60393
910 * parser.c (cp_parser_parameter_declaration_clause): Move generic
911 function template unwinding on error into a more general location, ...
912 (cp_parser_skip_to_end_of_statement): ... here.
913
914 2014-03-07 Jason Merrill <jason@redhat.com>
915
916 * Make-lang.in (check_g++_parallelize): Split dg.exp.
917
918 * parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
919 we're in a trailing return type.
920
921 * typeck.c (comp_template_parms_position): 'auto' and
922 'decltype(auto)' are different from real template parms.
923
924 * parser.c (cp_parser_using_declaration): Consume the semicolon
925 after bare parameter pack error.
926
927 * cp-tree.h (REF_PARENTHESIZED_P): New.
928 * semantics.c (force_paren_expr): Set it.
929 * pt.c (do_auto_deduction): Check it.
930 (tsubst) [COMPONENT_REF]: Copy it.
931 * typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
932
933 * decl.c (create_array_type_for_decl): Only warn about invalid
934 C++1y VLA if flag_iso or warn_vla>0.
935 (grokdeclarator): Likewise.
936 * pt.c (tsubst): Likewise.
937 * semantics.c (finish_decltype_type): Likewise.
938 * typeck.c (cxx_sizeof_or_alignof_type): Likewise.
939 (cp_build_addr_expr_1): Likewise.
940 * init.c (build_new_1): Improve diagnostics.
941
942 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
943
944 PR c++/58609
945 * decl.c (check_initializer): Return NULL_TREE after error;
946 consistently use inform.
947
948 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
949
950 * decl.c (check_initializer): Remove dead code.
951
952 2014-03-06 Marek Polacek <polacek@redhat.com>
953
954 PR c/60197
955 * typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
956 of checking tree code.
957
958 2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
959
960 * parser.c (cp_lexer_set_source_position): New.
961 (cp_parser_mem_initializer): Use it.
962 (cp_parser_postfix_open_square_expression): Likewise.
963 (cp_parser_parenthesized_expression_list): Likewise.
964 (cp_parser_new_initializer): Likewise.
965 (cp_parser_jump_statement): Likewise.
966 (cp_parser_initializer): Likewise.
967 (cp_parser_functional_cast): Likewise.
968
969 2014-03-05 Jason Merrill <jason@redhat.com>
970
971 PR c++/60409
972 * semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
973 dependent expression.
974
975 PR c++/60361
976 * parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
977 if re-parsing might succeed.
978 * semantics.c (finish_id_expression): Use of a parameter outside
979 the function body is a parse error.
980
981 * parser.c (cp_parser_mem_initializer): Set input_location
982 properly for init-list warning.
983 (cp_parser_postfix_open_square_expression): Likewise.
984 (cp_parser_parenthesized_expression_list): Likewise.
985 (cp_parser_new_initializer): Likewise.
986 (cp_parser_jump_statement): Likewise.
987 (cp_parser_initializer): Likewise.
988 (cp_parser_functional_cast): Likewise.
989
990 2014-03-04 Jason Merrill <jason@redhat.com>
991
992 PR c++/60417
993 * typeck2.c (process_init_constructor_record): Set
994 CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers.
995
996 PR c++/60415
997 PR c++/54359
998 * parser.c (cp_parser_direct_declarator): Set declarator to
999 cp_error_declarator on invalid qualified-id.
1000
1001 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1002
1003 PR c++/60376
1004 * parser.c (cp_parser_using_declaration): Early return when
1005 cp_parser_nested_name_specifier errors out.
1006
1007 2014-03-01 Adam Butcher <adam@jessamine.co.uk>
1008
1009 PR c++/60377
1010 * parser.c (cp_parser_parameter_declaration_clause): Unwind generic
1011 function scope on parse error in function parameter list.
1012
1013 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
1014
1015 * method.c (implicitly_declare_fn): Remove redundant
1016 DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
1017 * semantics.c (is_instantiation_of_constexpr): Likewise.
1018 * error.c (dump_function_decl): Likewise.
1019
1020 2014-03-01 Jason Merrill <jason@redhat.com>
1021
1022 PR c++/60379
1023 * semantics.c (begin_maybe_infinite_loop): Use
1024 fold_non_dependent_expr_sfinae.
1025
1026 2014-02-28 Jason Merrill <jason@redhat.com>
1027
1028 PR c++/58845
1029 * typeck.c (cp_build_binary_op): Sorry on vector&&vector.
1030
1031 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
1032
1033 PR c++/58610
1034 * cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK.
1035 * call.c (print_z_candidate): Remove STRIP_TEMPLATE use.
1036 * lambda.c (maybe_add_lambda_conv_op): Likewise.
1037
1038 2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
1039
1040 PR c++/60253
1041 * call.c (convert_arg_to_ellipsis): Return error_mark_node after
1042 error_at.
1043
1044 2014-02-27 Jason Merrill <jason@redhat.com>
1045
1046 PR c++/60353
1047 PR c++/55877
1048 * decl2.c (tentative_decl_linkage): Don't mess with functions that
1049 are not yet defined.
1050
1051 2014-02-26 Jason Merrill <jason@redhat.com>
1052
1053 PR c++/60347
1054 PR lto/53808
1055 * class.c (clone_function_decl): Don't note_vague_linkage_fn.
1056 * init.c (build_vtbl_address): Do it here.
1057
1058 PR c++/59231
1059 PR c++/11586
1060 PR c++/14710
1061 PR c++/57132
1062 * pt.c (struct warning_sentinel): New.
1063 (tsubst_copy_and_build): Use it instead of
1064 c_inhibit_evaluation_warnings.
1065 * typeck.c (maybe_warn_about_useless_cast): Remove
1066 c_inhibit_evaluation_warnings check.
1067
1068 PR c++/54440
1069 * pt.c (get_template_parm_index): New.
1070 (fixed_parameter_pack_p_1, fixed_parameter_pack_p): New.
1071 (process_template_parm): Allow bare packs in template template
1072 parm template parms.
1073 (coerce_template_parameter_pack): Handle fixed template template
1074 parm packs and fixed packs not at the end of the parm list.
1075 (coerce_template_parms): Handle template parm packs not at the end
1076 of the parm list.
1077 (gen_elem_of_pack_expansion_instantiation): Handle a decl expansion.
1078
1079 PR c++/60182
1080 * pt.c (unify): Ignore alias templates when deducing a template
1081 template parameter.
1082
1083 PR c++/60345
1084 Revert:
1085 DR 1571
1086 * call.c (reference_binding): Recurse on user-defined conversion.
1087 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
1088
1089 2014-02-25 Jason Merrill <jason@redhat.com>
1090
1091 DR 1571
1092 * call.c (reference_binding): Recurse on user-defined conversion.
1093 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
1094
1095 * call.c (print_conversion_rejection): Handle n_arg of -2.
1096 (build_user_type_conversion_1): Pass it.
1097
1098 PR c++/55877
1099 * decl2.c (no_linkage_error): Handle C++98 semantics.
1100 (reset_type_linkage): Move from decl.c.
1101 (reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
1102 (bt_reset_linkage_2, reset_decl_linkage): New.
1103 (tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
1104 (cp_write_global_declarations): Move condition into no_linkage_error.
1105 * decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
1106 * semantics.c (expand_or_defer_fn_1): Factor out
1107 tentative_decl_linkage.
1108 * cp-tree.h: Adjust.
1109
1110 * decl2.c (finish_static_data_member_decl): Diagnose static data
1111 member in unnamed class.
1112 * class.c (finish_struct_anon_r): Avoid redundant diagnostic.
1113
1114 PR lto/53808
1115 * class.c (clone_function_decl): Call note_vague_linkage_fn for
1116 defaulted virtual dtor.
1117
1118 DR 1286
1119 PR c++/60328
1120 * pt.c (get_underlying_template): Fix equivalence calculation.
1121
1122 2014-02-25 Adam Butcher <adam@jessamine.co.uk>
1123
1124 PR c++/60311
1125 * parser.c (function_being_declared_is_template_p): Return false when
1126 processing a template parameter list.
1127 (cp_parser_parameter_declaration_clause): Don't set
1128 auto_is_implicit_function_template_parm_p when processing a
1129 template parameter list.
1130
1131 * parser.c (synthesize_implicit_template_parm): Inject new template
1132 argument list appropriately when a generic member function
1133 of a class template is declared out-of-line.
1134
1135 PR c++/60065
1136 * parser.c (cp_parser_direct_declarator): Don't save and
1137 restore num_template_parameter_lists around call to
1138 cp_parser_parameter_declaration_list.
1139 (function_being_declared_is_template_p): New predicate.
1140 (cp_parser_parameter_declaration_list): Use
1141 function_being_declared_is_template_p as predicate for
1142 inspecting current function template parameter list length
1143 rather than num_template_parameter_lists.
1144
1145 2014-02-24 Jason Merrill <jason@redhat.com>
1146
1147 PR c++/60146
1148 * pt.c (tsubst_omp_for_iterator): Don't let substitution of the
1149 DECL_EXPR initialize a non-class iterator.
1150
1151 PR c++/60312
1152 * parser.c (cp_parser_template_type_arg): Check for invalid 'auto'.
1153
1154 2014-02-21 Jason Merrill <jason@redhat.com>
1155
1156 PR c++/58170
1157 * parser.c (cp_parser_type_name): Always check dependency.
1158 (cp_parser_type_specifier_seq): Call
1159 cp_parser_parse_and_diagnose_invalid_type_name.
1160
1161 PR c++/60108
1162 * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
1163
1164 PR c++/60185
1165 * parser.c (cp_parser_default_argument): Clear
1166 current_class_ptr/current_class_ref like tsubst_default_argument.
1167
1168 PR c++/60252
1169 * lambda.c (maybe_resolve_dummy): Check lambda_function rather
1170 than current_binding_level.
1171
1172 PR c++/60186
1173 * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
1174
1175 PR c++/60187
1176 * parser.c (cp_parser_enum_specifier): Call
1177 check_for_bare_parameter_packs.
1178
1179 PR c++/59347
1180 * pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
1181 erroneous typedef.
1182
1183 PR c++/60241
1184 * pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
1185 of the partial instantiation, not the most general template.
1186 (maybe_process_partial_specialization): Reassign everything on
1187 that list.
1188
1189 PR c++/60216
1190 * pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
1191 (check_explicit_specialization): Don't clone.
1192
1193 PR c++/60219
1194 * pt.c (coerce_template_parms): Bail if argument packing fails.
1195
1196 PR c++/60224
1197 * decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
1198 Don't get confused by a CONSTRUCTOR that already has a type.
1199
1200 PR c++/60227
1201 * call.c (build_array_conv): Don't crash on VLA.
1202
1203 PR c++/60248
1204 * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
1205
1206 PR c++/60252
1207 * lambda.c (maybe_resolve_dummy): Don't try to capture this
1208 in declaration context.
1209
1210 DR 1591
1211 PR c++/60051
1212 * pt.c (unify): Only unify if deducible. Handle 0-length list.
1213
1214 PR c++/60250
1215 * parser.c (cp_parser_direct_declarator): Don't wrap a
1216 type-dependent expression in a NOP_EXPR.
1217
1218 PR c++/60251
1219 * lambda.c (is_normal_capture_proxy): Handle VLA capture.
1220
1221 PR c++/60167
1222 PR c++/60222
1223 PR c++/58606
1224 * parser.c (cp_parser_template_argument): Restore dereference.
1225 * pt.c (template_parm_to_arg): Dereference non-pack expansions too.
1226 (process_partial_specialization): Handle deref.
1227 (unify): Likewise.
1228
1229 2014-02-21 Adam Butcher <adam@jessamine.co.uk>
1230
1231 PR c++/60052
1232 PR c++/60053
1233 * parser.c (cp_parser_parameter_declaration_list): Correctly reset
1234 implicit_template_scope upon leaving an out-of-line generic member
1235 function definition.
1236
1237 2014-02-20 Kai Tietz <ktietz@redhat.com>
1238
1239 PR c++/58873
1240 * parser.c (cp_parser_functional_cast): Treat NULL_TREE
1241 valued type argument as error_mark_node.
1242
1243 PR c++/58835
1244 * semantics.c (finish_fname): Handle error_mark_node.
1245
1246 2014-02-19 Jason Merrill <jason@redhat.com>
1247
1248 PR c++/60046
1249 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
1250 spec from template context.
1251
1252 2014-02-19 Jakub Jelinek <jakub@redhat.com>
1253
1254 PR debug/56563
1255 * cp-objcp-common.c (cp_function_decl_explicit_p): Remove
1256 FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.
1257
1258 PR c++/60267
1259 * pt.c (tsubst_expr): Handle ANNOTATE_EXPR.
1260
1261 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
1262
1263 PR c++/60225
1264 * semantics.c (ensure_literal_type_for_constexpr_object): Use
1265 strip_array_types.
1266
1267 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
1268
1269 PR c++/60215
1270 * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
1271 During error recovery allow_non_constant may be false.
1272
1273 2014-02-18 Adam Butcher <adam@jessamine.co.uk>
1274
1275 PR c++/60190
1276 * parser.c (cp_parser_lambda_declarator_opt): Pop template parameter
1277 scope whenever a template parameter list has been started, independent
1278 of whether the function call operator was well-formed or not.
1279
1280 PR c++/60064
1281 * parser.c (cp_parser_member_declaration): Pop fully implicit template
1282 scope for generic friend declarations as well as for non-friends.
1283
1284 2014-02-12 Paolo Carlini <paolo.carlini@oracle.com>
1285
1286 PR c++/60047
1287 * method.c (implicitly_declare_fn): A constructor of a class with
1288 virtual base classes isn't constexpr (7.1.5p4).
1289
1290 2014-02-05 Jan Hubicka <hubicka@ucw.cz
1291
1292 * parser.c (synthesize_implicit_template_parm): Use grow_tree_vec.
1293
1294 2014-02-05 Jakub Jelinek <jakub@redhat.com>
1295
1296 PR c++/58703
1297 * parser.c (cp_parser_omp_declare_reduction): Save and free
1298 declarator_obstack.
1299
1300 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
1301
1302 PR c++/53017
1303 PR c++/59211
1304 * tree.c (handle_init_priority_attribute): Call default_conversion on
1305 the attribute argument.
1306
1307 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
1308
1309 PR c++/58871
1310 * method.c (synthesized_method_walk): If vbases is non-null but
1311 is_empty is true, likewise don't worry about the virtual bases.
1312
1313 2014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
1314
1315 PR c++/51219
1316 * typeck2.c (process_init_constructor_record): Just skip unnamed
1317 bit-fields.
1318
1319 2014-01-31 Jason Merrill <jason@redhat.com>
1320
1321 PR c++/59469
1322 * pt.c (mark_decl_instantiated): Call mark_needed.
1323
1324 PR c++/58672
1325 * decl2.c (handle_tls_init): Handle null init fn.
1326
1327 PR c++/55800
1328 * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
1329
1330 2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
1331
1332 PR c++/59082
1333 * class.c (build_vfield_ref): Early return error_mark_node if
1334 TYPE_VFIELD (type) is null.
1335 (build_base_path): Check return value of build_vfield_ref.
1336
1337 2014-01-31 Jason Merrill <jason@redhat.com>
1338
1339 PR c++/59646
1340 * call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
1341 [ck_list]: Check for error_mark_node.
1342 (build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.
1343
1344 PR c++/57043
1345 * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
1346 during partial ordering.
1347
1348 2014-01-31 Marek Polacek <polacek@redhat.com>
1349
1350 PR c/59963
1351 * typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
1352
1353 2014-01-30 Jason Merrill <jason@redhat.com>
1354
1355 PR c++/57899
1356 * cp-tree.h (struct saved_scope): Add x_local_specializations.
1357 (local_specializations): New macro.
1358 * pt.c (local_specializations): Remove variable.
1359
1360 2014-01-30 Richard Sandiford <rdsandiford@googlemail.com>
1361
1362 PR c++/58708
1363 * parser.c (make_string_pack): Use double_int::from_buffer.
1364
1365 2014-01-30 Marek Polacek <polacek@redhat.com>
1366
1367 PR c/59940
1368 * typeck.c (build_ptrmemfunc1): Call convert_and_check with
1369 input_location.
1370 * cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
1371 with input_location.
1372 * call.c (build_conditional_expr_1): Call unsafe_conversion_p with
1373 loc parameter.
1374
1375 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1376
1377 PR c++/58843
1378 * typeck.c (lookup_destructor): Check dtor_type for error_mark_node.
1379
1380 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1381
1382 PR c++/58649
1383 * pt.c (lookup_template_class_1): Check start_enum return value
1384 for error_mark_node.
1385
1386 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1387
1388 * decl.c (duplicate_decls, typename_hash, typename_compare):
1389 Use TYPE_IDENTIFIER.
1390 * error.c (dump_type): Likewise.
1391 * mangle.c (dump_substitution_candidates): Likewise.
1392
1393 2014-01-30 Jason Merrill <jason@redhat.com>
1394
1395 PR c++/59633
1396 * decl2.c (attributes_naming_typedef_ok): New.
1397 * cp-tree.h: Declare it.
1398 * decl.c (grokdeclarator): Check it.
1399 * tree.c (no_linkage_check): Handle VECTOR_TYPE.
1400
1401 2014-01-29 Jason Merrill <jason@redhat.com>
1402
1403 PR c++/59707
1404 * call.c (add_builtin_candidate): Catch dependent types.
1405
1406 PR c++/59989
1407 * pt.c (expand_template_argument_pack): Correct
1408 non_default_args_count calculation.
1409
1410 PR c++/58466
1411 * pt.c (unify_pack_expansion): Call expand_template_argument_pack.
1412
1413 PR c++/59956
1414 * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
1415 have a friend template in a class template.
1416 * pt.c (tsubst_friend_function): Look through it.
1417 (push_template_decl_real): A friend member template is
1418 primary.
1419
1420 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1421
1422 PR c++/58846
1423 * decl.c (get_dso_handle_node): Don't crash if dso_handle_node
1424 == error_mark_node.
1425
1426 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1427
1428 PR c++/58674
1429 * pt.c (instantiate_template_1): Check for error_mark_node the second
1430 argument too.
1431
1432 2014-01-29 Jason Merrill <jason@redhat.com>
1433
1434 PR c++/59916
1435 * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
1436 cdtor_returns_this case.
1437
1438 PR c++/59315
1439 * decl.c (cxx_maybe_build_cleanup): Call mark_used.
1440
1441 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1442
1443 PR c++/58702
1444 * semantics.c (finish_omp_reduction_clause): Check type for
1445 error_mark_node.
1446
1447 2014-01-28 Jason Merrill <jason@redhat.com>
1448
1449 PR c++/59791
1450 * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
1451 (tsubst_copy): Use it if lookup fails.
1452
1453 PR c++/59818
1454 * pt.c (tsubst_function_type): Make sure we keep the same function
1455 quals.
1456
1457 PR c++/58701
1458 * semantics.c (build_anon_member_initialization): Stop walking
1459 when we run out of COMPONENT_REFs.
1460
1461 PR c++/58632
1462 * decl.c (lookup_and_check_tag): Ignore template parameters if
1463 scope == ts_current.
1464 * pt.c (check_template_shadow): Don't complain about the injected
1465 class name.
1466
1467 * decl.c (duplicate_decls): Tweak.
1468
1469 PR c++/53756
1470 * mangle.c (write_unqualified_name): Handle operator auto.
1471
1472 2014-01-27 Jason Merrill <jason@redhat.com>
1473
1474 PR c++/59823
1475 Core DR 1138
1476 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
1477 list-initialization. A conversion to rvalue ref that involves
1478 an lvalue-rvalue conversion is bad.
1479 (convert_like_real): Give helpful error message.
1480
1481 PR c++/54652
1482 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
1483
1484 PR c++/58504
1485 * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
1486 types.
1487
1488 PR c++/58606
1489 * pt.c (template_parm_to_arg): Call convert_from_reference.
1490 (tsubst_template_arg): Don't strip reference refs.
1491
1492 PR c++/58639
1493 * call.c (build_aggr_conv): Reject value-initialization of reference.
1494
1495 PR c++/58812
1496 PR c++/58651
1497 * call.c (convert_like_real): Give helpful error about excess braces
1498 for ck_rvalue of scalar type.
1499
1500 Core DR 1288
1501 * call.c (reference_binding): Only elide braces if the single
1502 element is reference-related.
1503
1504 PR c++/58814
1505 * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
1506 stabilizing.
1507
1508 PR c++/58837
1509 * typeck.c (cp_truthvalue_conversion): Use explicit comparison for
1510 FUNCTION_DECL.
1511
1512 PR c++/59097
1513 * decl.c (compute_array_index_type): Don't call
1514 maybe_constant_value for a non-integral expression.
1515
1516 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1517
1518 * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with
1519 flag_cilkplus.
1520 * cp-gimplify.c (cp_genericize): Likewise.
1521 * decl.c (grokfndecl): Likewise.
1522 * parser.c (cp_parser_postfix_expression): Likewise.
1523 (cp_parser_postfix_open_square_expression): Likewise.
1524 (cp_parser_direct_declarator): Likewise.
1525 (is_cilkplus_vector_p): Likewise.
1526 (cp_parser_omp_clause_name): Likewise.
1527 (cp_parser_omp_all_clauses): Likewise.
1528 * pt.c (apply_late_template_attributes): Likewise.
1529 * typeck.c (cp_build_array_ref): Likewise.
1530 (cp_build_compound_expr): Likewise.
1531 (check_return_expr): Likewise.
1532
1533 2014-01-24 Jason Merrill <jason@redhat.com>
1534
1535 PR c++/58550
1536 * decl.c (grokdeclarator): Turn pedwarn about auto return type in
1537 c++11 into error.
1538
1539 PR c++/59886
1540 PR c++/59659
1541 * typeck2.c (process_init_constructor_array): Don't create
1542 RANGE_EXPR yet.
1543
1544 2014-01-24 Jakub Jelinek <jakub@redhat.com>
1545
1546 * typeck2.c (split_nonconstant_init_1): Fix num_split_elts
1547 handling for RANGE_ARRAY case.
1548
1549 2014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
1550
1551 PR c++/57524
1552 * name-lookup.c (push_using_directive): Use timevar_cond_start.
1553
1554 2014-01-23 Marek Polacek <polacek@redhat.com>
1555
1556 PR c/59846
1557 * typeck.c (cp_build_binary_op): Pass location to shorten_compare.
1558
1559 2014-01-23 Marek Polacek <polacek@redhat.com>
1560
1561 PR c/58346
1562 * typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1563 an empty aggregate.
1564
1565 2014-01-23 Jason Merrill <jason@redhat.com>
1566
1567 PR c++/55189
1568 * cp-tree.h (struct language_function): Add infinite_loop and
1569 infinite_loops.
1570 (current_function_infinite_loop): New.
1571 * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop)
1572 (break_maybe_infinite_loop): New.
1573 (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt)
1574 (finish_do_stmt, finish_for_cond, finish_for_stmt)
1575 (begin_range_for_stmt): Use them.
1576 * decl.c (finish_function): Don't warn about missing return
1577 if current_function_infinite_loop.
1578 * pt.c (instantiate_decl): Copy current_function_infinite_loop.
1579 * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop.
1580
1581 * call.c (build_op_delete_call): Use make_tree_vector and
1582 release_tree_vector.
1583
1584 2014-01-23 Paolo Carlini <paolo.carlini@oracle.com>
1585
1586 PR c++/58980
1587 * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
1588 nested_name_specifier.
1589
1590 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1591
1592 * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
1593 see if there is an attribute after function decl. If so, then
1594 parse them now.
1595 (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
1596 enabled function late parsing.
1597 (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
1598 attribute for a SIMD-enabled function.
1599 (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
1600 the function is used by SIMD-enabled function (indicated by NULL
1601 pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
1602 PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
1603 (cp_parser_cilk_simd_vectorlength): Modified this function to handle
1604 vectorlength clause in SIMD-enabled function and #pragma SIMD's
1605 vectorlength clause. Added a new bool parameter to differentiate
1606 between the two.
1607 (cp_parser_cilk_simd_fn_vector_attrs): New function.
1608 (is_cilkplus_vector_p): Likewise.
1609 (cp_parser_late_parsing_elem_fn_info): Likewise.
1610 (cp_parser_omp_clause_name): Added a check for "mask", "nomask"
1611 and "vectorlength" clauses when Cilk Plus is enabled.
1612 (cp_parser_omp_clause_linear): Added a new parameter of type bool
1613 and emit a sorry message when step size is a parameter.
1614 * parser.h (cp_parser::cilk_simd_fn_info): New field.
1615 * decl.c (grokfndecl): Added flag_enable_cilkplus along with
1616 flag_openmp.
1617 * pt.c (apply_late_template_attributes): Likewise.
1618
1619 2014-01-23 Jakub Jelinek <jakub@redhat.com>
1620
1621 PR middle-end/58809
1622 * semantics.c (finish_omp_reduction_clause): Reject
1623 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1624
1625 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com>
1626
1627 PR c++/59482
1628 * parser.c (cp_parser_class_head): Push the class before parsing
1629 the base-clause, pop after it.
1630
1631 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1632
1633 * decl2.c (cpp_check): Revert prototype change.
1634
1635 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1636
1637 PR c++/59270
1638 PR c++/58811
1639 * init.c (build_value_init_noctor): Don't pass error_mark_node to
1640 build_value_init.
1641
1642 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1643
1644 PR c++/59269
1645 * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
1646 only when errorcount == 0.
1647
1648 2014-01-17 Marek Polacek <polacek@redhat.com>
1649
1650 PR c++/59838
1651 * cvt.c (ocp_convert): Don't segfault on non-existing
1652 ENUM_UNDERLYING_TYPE.
1653
1654 2014-01-16 Jason Merrill <jason@redhat.com>
1655
1656 PR c++/59821
1657 * tree.c (bot_manip): Update the location of builtin_LINE and
1658 builtin_FILE calls.
1659
1660 2014-01-14 Jason Merrill <jason@redhat.com>
1661
1662 PR c++/59659
1663 * typeck2.c (massage_init_elt): New.
1664 (process_init_constructor_record)
1665 (process_init_constructor_union): Use it.
1666 (process_init_constructor_array): Use it. Use RANGE_EXPR.
1667 (split_nonconstant_init_1): Handle it.
1668 * semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
1669
1670 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1671
1672 PR c++/59631
1673 * parser.c (cp_parser_postfix_expression): Added a new if-statement
1674 and replaced an existing if-statement with else-if statement.
1675 Changed an existing error message wording to match the one from the C
1676 parser.
1677
1678 2014-01-08 Jason Merrill <jason@redhat.com>
1679
1680 PR c++/59614
1681 * class.c (abi_tag_data): Add tags field.
1682 (check_abi_tags): Initialize it.
1683 (find_abi_tags_r): Support collecting missing tags.
1684 (mark_type_abi_tags): Don't look at template args.
1685 (inherit_targ_abi_tags): New.
1686 (check_bases_and_members): Use it.
1687 * cp-tree.h (ABI_TAG_IMPLICIT): New.
1688 * mangle.c (write_abi_tags): Check it.
1689
1690 2014-01-07 Jason Merrill <jason@redhat.com>
1691
1692 PR c++/58856
1693 * pt.c (num_innermost_template_parms): New.
1694 (get_underlying_template): Use it.
1695
1696 PR c++/58965
1697 * mangle.c (write_guarded_var_name): Handle null DECL_NAME.
1698
1699 2014-01-07 Paolo Carlini <paolo.carlini@oracle.com>
1700
1701 * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
1702 the letter of 20.11.6 about Base and Derived naming the same
1703 class type modulo cv-qualifiers.
1704
1705 2014-01-06 Adam Butcher <adam@jessamine.co.uk>
1706
1707 PR c++/59635
1708 * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
1709 function as unimplemented for generic lambdas with varargs.
1710
1711 PR c++/59636
1712 * parser.c (cp_parser_template_parameter): Early out with
1713 error_mark_node if parameter declaration was not parsed.
1714
1715 PR c++/59629
1716 * parser.c (cp_parser_lambda_expression): Save/reset/restore
1717 auto_is_implicit_function_template_parm_p around lambda body.
1718
1719 PR c++/59638
1720 * parser.c (cp_parser_init_declarator): Undo fully implicit
1721 template parameter list when declarator is not a function.
1722
1723 2014-01-03 Marc Glisse <marc.glisse@inria.fr>
1724
1725 PR c++/58950
1726 * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
1727
1728 2014-01-03 Tobias Burnus <burnus@net-b.de>
1729
1730 PR c++/58567
1731 * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.
1732
1733 2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1734
1735 Core DR 1442
1736 PR c++/59165
1737 * parser.c (cp_parser_perform_range_for_lookup): Don't pass true
1738 as include_std to perform_koenig_lookup.
1739 (cp_parser_postfix_expression): Adjust.
1740 * pt.c (tsubst_copy_and_build): Likewise.
1741 * semantics.c (perform_koenig_lookup): Remove bool parameter.
1742 (omp_reduction_lookup): Adjust.
1743 * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
1744 (lookup_arg_dependent): Likewise.
1745 (lookup_function_nonclass): Adjust.
1746 * name-lookup.h: Adjust declaration.
1747 * cp-tree.h: Likewise.
1748
1749 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
1750
1751 PR c++/59087
1752 * parser.c (cp_parser_userdef_numeric_literal): Mention
1753 -fext-numeric-literals in the message.
1754
1755 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
1756
1757 PR c++/59641
1758 * call.c (build_conditional_expr_1): Check the return value of
1759 force_rvalue.
1760
1761 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
1762
1763 * call.c (convert_like_real): Check complain.
1764
1765 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
1766
1767 PR c++/59378
1768 * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
1769 in templates.
1770
1771 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1772
1773 Update copyright years
1774
1775 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1776
1777 * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
1778 the standard form for the copyright notice.
1779 \f
1780 Copyright (C) 2014 Free Software Foundation, Inc.
1781
1782 Copying and distribution of this file, with or without modification,
1783 are permitted in any medium without royalty provided the copyright
1784 notice and this notice are preserved.