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