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