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