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