method.c (implicitly_declare_fn): Remove redundant DECL_TEMPLATE_RESULT and STRIP_TEM...
[gcc.git] / gcc / cp / ChangeLog
1 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
2
3 * method.c (implicitly_declare_fn): Remove redundant
4 DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
5 * semantics.c (is_instantiation_of_constexpr): Likewise.
6 * error.c (dump_function_decl): Likewise.
7
8 2014-03-01 Jason Merrill <jason@redhat.com>
9
10 PR c++/60379
11 * semantics.c (begin_maybe_infinite_loop): Use
12 fold_non_dependent_expr_sfinae.
13
14 2014-02-28 Jason Merrill <jason@redhat.com>
15
16 PR c++/58845
17 * typeck.c (cp_build_binary_op): Sorry on vector&&vector.
18
19 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
20
21 PR c++/58610
22 * cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK.
23 * call.c (print_z_candidate): Remove STRIP_TEMPLATE use.
24 * lambda.c (maybe_add_lambda_conv_op): Likewise.
25
26 2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
27
28 PR c++/60253
29 * call.c (convert_arg_to_ellipsis): Return error_mark_node after
30 error_at.
31
32 2014-02-27 Jason Merrill <jason@redhat.com>
33
34 PR c++/60353
35 PR c++/55877
36 * decl2.c (tentative_decl_linkage): Don't mess with functions that
37 are not yet defined.
38
39 2014-02-26 Jason Merrill <jason@redhat.com>
40
41 PR c++/60347
42 PR lto/53808
43 * class.c (clone_function_decl): Don't note_vague_linkage_fn.
44 * init.c (build_vtbl_address): Do it here.
45
46 PR c++/59231
47 PR c++/11586
48 PR c++/14710
49 PR c++/57132
50 * pt.c (struct warning_sentinel): New.
51 (tsubst_copy_and_build): Use it instead of
52 c_inhibit_evaluation_warnings.
53 * typeck.c (maybe_warn_about_useless_cast): Remove
54 c_inhibit_evaluation_warnings check.
55
56 PR c++/54440
57 * pt.c (get_template_parm_index): New.
58 (fixed_parameter_pack_p_1, fixed_parameter_pack_p): New.
59 (process_template_parm): Allow bare packs in template template
60 parm template parms.
61 (coerce_template_parameter_pack): Handle fixed template template
62 parm packs and fixed packs not at the end of the parm list.
63 (coerce_template_parms): Handle template parm packs not at the end
64 of the parm list.
65 (gen_elem_of_pack_expansion_instantiation): Handle a decl expansion.
66
67 PR c++/60182
68 * pt.c (unify): Ignore alias templates when deducing a template
69 template parameter.
70
71 PR c++/60345
72 Revert:
73 DR 1571
74 * call.c (reference_binding): Recurse on user-defined conversion.
75 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
76
77 2014-02-25 Jason Merrill <jason@redhat.com>
78
79 DR 1571
80 * call.c (reference_binding): Recurse on user-defined conversion.
81 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
82
83 * call.c (print_conversion_rejection): Handle n_arg of -2.
84 (build_user_type_conversion_1): Pass it.
85
86 PR c++/55877
87 * decl2.c (no_linkage_error): Handle C++98 semantics.
88 (reset_type_linkage): Move from decl.c.
89 (reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
90 (bt_reset_linkage_2, reset_decl_linkage): New.
91 (tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
92 (cp_write_global_declarations): Move condition into no_linkage_error.
93 * decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
94 * semantics.c (expand_or_defer_fn_1): Factor out
95 tentative_decl_linkage.
96 * cp-tree.h: Adjust.
97
98 * decl2.c (finish_static_data_member_decl): Diagnose static data
99 member in unnamed class.
100 * class.c (finish_struct_anon_r): Avoid redundant diagnostic.
101
102 PR lto/53808
103 * class.c (clone_function_decl): Call note_vague_linkage_fn for
104 defaulted virtual dtor.
105
106 DR 1286
107 PR c++/60328
108 * pt.c (get_underlying_template): Fix equivalence calculation.
109
110 2014-02-25 Adam Butcher <adam@jessamine.co.uk>
111
112 PR c++/60311
113 * parser.c (function_being_declared_is_template_p): Return false when
114 processing a template parameter list.
115 (cp_parser_parameter_declaration_clause): Don't set
116 auto_is_implicit_function_template_parm_p when processing a
117 template parameter list.
118
119 * parser.c (synthesize_implicit_template_parm): Inject new template
120 argument list appropriately when a generic member function
121 of a class template is declared out-of-line.
122
123 PR c++/60065
124 * parser.c (cp_parser_direct_declarator): Don't save and
125 restore num_template_parameter_lists around call to
126 cp_parser_parameter_declaration_list.
127 (function_being_declared_is_template_p): New predicate.
128 (cp_parser_parameter_declaration_list): Use
129 function_being_declared_is_template_p as predicate for
130 inspecting current function template parameter list length
131 rather than num_template_parameter_lists.
132
133 2014-02-24 Jason Merrill <jason@redhat.com>
134
135 PR c++/60146
136 * pt.c (tsubst_omp_for_iterator): Don't let substitution of the
137 DECL_EXPR initialize a non-class iterator.
138
139 PR c++/60312
140 * parser.c (cp_parser_template_type_arg): Check for invalid 'auto'.
141
142 2014-02-21 Jason Merrill <jason@redhat.com>
143
144 PR c++/58170
145 * parser.c (cp_parser_type_name): Always check dependency.
146 (cp_parser_type_specifier_seq): Call
147 cp_parser_parse_and_diagnose_invalid_type_name.
148
149 PR c++/60108
150 * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
151
152 PR c++/60185
153 * parser.c (cp_parser_default_argument): Clear
154 current_class_ptr/current_class_ref like tsubst_default_argument.
155
156 PR c++/60252
157 * lambda.c (maybe_resolve_dummy): Check lambda_function rather
158 than current_binding_level.
159
160 PR c++/60186
161 * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
162
163 PR c++/60187
164 * parser.c (cp_parser_enum_specifier): Call
165 check_for_bare_parameter_packs.
166
167 PR c++/59347
168 * pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
169 erroneous typedef.
170
171 PR c++/60241
172 * pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
173 of the partial instantiation, not the most general template.
174 (maybe_process_partial_specialization): Reassign everything on
175 that list.
176
177 PR c++/60216
178 * pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
179 (check_explicit_specialization): Don't clone.
180
181 PR c++/60219
182 * pt.c (coerce_template_parms): Bail if argument packing fails.
183
184 PR c++/60224
185 * decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
186 Don't get confused by a CONSTRUCTOR that already has a type.
187
188 PR c++/60227
189 * call.c (build_array_conv): Don't crash on VLA.
190
191 PR c++/60248
192 * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
193
194 PR c++/60252
195 * lambda.c (maybe_resolve_dummy): Don't try to capture this
196 in declaration context.
197
198 DR 1591
199 PR c++/60051
200 * pt.c (unify): Only unify if deducible. Handle 0-length list.
201
202 PR c++/60250
203 * parser.c (cp_parser_direct_declarator): Don't wrap a
204 type-dependent expression in a NOP_EXPR.
205
206 PR c++/60251
207 * lambda.c (is_normal_capture_proxy): Handle VLA capture.
208
209 PR c++/60167
210 PR c++/60222
211 PR c++/58606
212 * parser.c (cp_parser_template_argument): Restore dereference.
213 * pt.c (template_parm_to_arg): Dereference non-pack expansions too.
214 (process_partial_specialization): Handle deref.
215 (unify): Likewise.
216
217 2014-02-21 Adam Butcher <adam@jessamine.co.uk>
218
219 PR c++/60052
220 PR c++/60053
221 * parser.c (cp_parser_parameter_declaration_list): Correctly reset
222 implicit_template_scope upon leaving an out-of-line generic member
223 function definition.
224
225 2014-02-20 Kai Tietz <ktietz@redhat.com>
226
227 PR c++/58873
228 * parser.c (cp_parser_functional_cast): Treat NULL_TREE
229 valued type argument as error_mark_node.
230
231 PR c++/58835
232 * semantics.c (finish_fname): Handle error_mark_node.
233
234 2014-02-19 Jason Merrill <jason@redhat.com>
235
236 PR c++/60046
237 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
238 spec from template context.
239
240 2014-02-19 Jakub Jelinek <jakub@redhat.com>
241
242 PR debug/56563
243 * cp-objcp-common.c (cp_function_decl_explicit_p): Remove
244 FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.
245
246 PR c++/60267
247 * pt.c (tsubst_expr): Handle ANNOTATE_EXPR.
248
249 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
250
251 PR c++/60225
252 * semantics.c (ensure_literal_type_for_constexpr_object): Use
253 strip_array_types.
254
255 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
256
257 PR c++/60215
258 * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
259 During error recovery allow_non_constant may be false.
260
261 2014-02-18 Adam Butcher <adam@jessamine.co.uk>
262
263 PR c++/60190
264 * parser.c (cp_parser_lambda_declarator_opt): Pop template parameter
265 scope whenever a template parameter list has been started, independent
266 of whether the function call operator was well-formed or not.
267
268 PR c++/60064
269 * parser.c (cp_parser_member_declaration): Pop fully implicit template
270 scope for generic friend declarations as well as for non-friends.
271
272 2014-02-12 Paolo Carlini <paolo.carlini@oracle.com>
273
274 PR c++/60047
275 * method.c (implicitly_declare_fn): A constructor of a class with
276 virtual base classes isn't constexpr (7.1.5p4).
277
278 2014-02-05 Jan Hubicka <hubicka@ucw.cz
279
280 * parser.c (synthesize_implicit_template_parm): Use grow_tree_vec.
281
282 2014-02-05 Jakub Jelinek <jakub@redhat.com>
283
284 PR c++/58703
285 * parser.c (cp_parser_omp_declare_reduction): Save and free
286 declarator_obstack.
287
288 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
289
290 PR c++/53017
291 PR c++/59211
292 * tree.c (handle_init_priority_attribute): Call default_conversion on
293 the attribute argument.
294
295 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
296
297 PR c++/58871
298 * method.c (synthesized_method_walk): If vbases is non-null but
299 is_empty is true, likewise don't worry about the virtual bases.
300
301 2014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
302
303 PR c++/51219
304 * typeck2.c (process_init_constructor_record): Just skip unnamed
305 bit-fields.
306
307 2014-01-31 Jason Merrill <jason@redhat.com>
308
309 PR c++/59469
310 * pt.c (mark_decl_instantiated): Call mark_needed.
311
312 PR c++/58672
313 * decl2.c (handle_tls_init): Handle null init fn.
314
315 PR c++/55800
316 * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
317
318 2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
319
320 PR c++/59082
321 * class.c (build_vfield_ref): Early return error_mark_node if
322 TYPE_VFIELD (type) is null.
323 (build_base_path): Check return value of build_vfield_ref.
324
325 2014-01-31 Jason Merrill <jason@redhat.com>
326
327 PR c++/59646
328 * call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
329 [ck_list]: Check for error_mark_node.
330 (build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.
331
332 PR c++/57043
333 * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
334 during partial ordering.
335
336 2014-01-31 Marek Polacek <polacek@redhat.com>
337
338 PR c/59963
339 * typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
340
341 2014-01-30 Jason Merrill <jason@redhat.com>
342
343 PR c++/57899
344 * cp-tree.h (struct saved_scope): Add x_local_specializations.
345 (local_specializations): New macro.
346 * pt.c (local_specializations): Remove variable.
347
348 2014-01-30 Richard Sandiford <rdsandiford@googlemail.com>
349
350 PR c++/58708
351 * parser.c (make_string_pack): Use double_int::from_buffer.
352
353 2014-01-30 Marek Polacek <polacek@redhat.com>
354
355 PR c/59940
356 * typeck.c (build_ptrmemfunc1): Call convert_and_check with
357 input_location.
358 * cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
359 with input_location.
360 * call.c (build_conditional_expr_1): Call unsafe_conversion_p with
361 loc parameter.
362
363 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
364
365 PR c++/58843
366 * typeck.c (lookup_destructor): Check dtor_type for error_mark_node.
367
368 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
369
370 PR c++/58649
371 * pt.c (lookup_template_class_1): Check start_enum return value
372 for error_mark_node.
373
374 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
375
376 * decl.c (duplicate_decls, typename_hash, typename_compare):
377 Use TYPE_IDENTIFIER.
378 * error.c (dump_type): Likewise.
379 * mangle.c (dump_substitution_candidates): Likewise.
380
381 2014-01-30 Jason Merrill <jason@redhat.com>
382
383 PR c++/59633
384 * decl2.c (attributes_naming_typedef_ok): New.
385 * cp-tree.h: Declare it.
386 * decl.c (grokdeclarator): Check it.
387 * tree.c (no_linkage_check): Handle VECTOR_TYPE.
388
389 2014-01-29 Jason Merrill <jason@redhat.com>
390
391 PR c++/59707
392 * call.c (add_builtin_candidate): Catch dependent types.
393
394 PR c++/59989
395 * pt.c (expand_template_argument_pack): Correct
396 non_default_args_count calculation.
397
398 PR c++/58466
399 * pt.c (unify_pack_expansion): Call expand_template_argument_pack.
400
401 PR c++/59956
402 * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
403 have a friend template in a class template.
404 * pt.c (tsubst_friend_function): Look through it.
405 (push_template_decl_real): A friend member template is
406 primary.
407
408 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
409
410 PR c++/58846
411 * decl.c (get_dso_handle_node): Don't crash if dso_handle_node
412 == error_mark_node.
413
414 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
415
416 PR c++/58674
417 * pt.c (instantiate_template_1): Check for error_mark_node the second
418 argument too.
419
420 2014-01-29 Jason Merrill <jason@redhat.com>
421
422 PR c++/59916
423 * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
424 cdtor_returns_this case.
425
426 PR c++/59315
427 * decl.c (cxx_maybe_build_cleanup): Call mark_used.
428
429 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
430
431 PR c++/58702
432 * semantics.c (finish_omp_reduction_clause): Check type for
433 error_mark_node.
434
435 2014-01-28 Jason Merrill <jason@redhat.com>
436
437 PR c++/59791
438 * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
439 (tsubst_copy): Use it if lookup fails.
440
441 PR c++/59818
442 * pt.c (tsubst_function_type): Make sure we keep the same function
443 quals.
444
445 PR c++/58701
446 * semantics.c (build_anon_member_initialization): Stop walking
447 when we run out of COMPONENT_REFs.
448
449 PR c++/58632
450 * decl.c (lookup_and_check_tag): Ignore template parameters if
451 scope == ts_current.
452 * pt.c (check_template_shadow): Don't complain about the injected
453 class name.
454
455 * decl.c (duplicate_decls): Tweak.
456
457 PR c++/53756
458 * mangle.c (write_unqualified_name): Handle operator auto.
459
460 2014-01-27 Jason Merrill <jason@redhat.com>
461
462 PR c++/59823
463 Core DR 1138
464 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
465 list-initialization. A conversion to rvalue ref that involves
466 an lvalue-rvalue conversion is bad.
467 (convert_like_real): Give helpful error message.
468
469 PR c++/54652
470 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
471
472 PR c++/58504
473 * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
474 types.
475
476 PR c++/58606
477 * pt.c (template_parm_to_arg): Call convert_from_reference.
478 (tsubst_template_arg): Don't strip reference refs.
479
480 PR c++/58639
481 * call.c (build_aggr_conv): Reject value-initialization of reference.
482
483 PR c++/58812
484 PR c++/58651
485 * call.c (convert_like_real): Give helpful error about excess braces
486 for ck_rvalue of scalar type.
487
488 Core DR 1288
489 * call.c (reference_binding): Only elide braces if the single
490 element is reference-related.
491
492 PR c++/58814
493 * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
494 stabilizing.
495
496 PR c++/58837
497 * typeck.c (cp_truthvalue_conversion): Use explicit comparison for
498 FUNCTION_DECL.
499
500 PR c++/59097
501 * decl.c (compute_array_index_type): Don't call
502 maybe_constant_value for a non-integral expression.
503
504 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
505
506 * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with
507 flag_cilkplus.
508 * cp-gimplify.c (cp_genericize): Likewise.
509 * decl.c (grokfndecl): Likewise.
510 * parser.c (cp_parser_postfix_expression): Likewise.
511 (cp_parser_postfix_open_square_expression): Likewise.
512 (cp_parser_direct_declarator): Likewise.
513 (is_cilkplus_vector_p): Likewise.
514 (cp_parser_omp_clause_name): Likewise.
515 (cp_parser_omp_all_clauses): Likewise.
516 * pt.c (apply_late_template_attributes): Likewise.
517 * typeck.c (cp_build_array_ref): Likewise.
518 (cp_build_compound_expr): Likewise.
519 (check_return_expr): Likewise.
520
521 2014-01-24 Jason Merrill <jason@redhat.com>
522
523 PR c++/58550
524 * decl.c (grokdeclarator): Turn pedwarn about auto return type in
525 c++11 into error.
526
527 PR c++/59886
528 PR c++/59659
529 * typeck2.c (process_init_constructor_array): Don't create
530 RANGE_EXPR yet.
531
532 2014-01-24 Jakub Jelinek <jakub@redhat.com>
533
534 * typeck2.c (split_nonconstant_init_1): Fix num_split_elts
535 handling for RANGE_ARRAY case.
536
537 2014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
538
539 PR c++/57524
540 * name-lookup.c (push_using_directive): Use timevar_cond_start.
541
542 2014-01-23 Marek Polacek <polacek@redhat.com>
543
544 PR c/59846
545 * typeck.c (cp_build_binary_op): Pass location to shorten_compare.
546
547 2014-01-23 Marek Polacek <polacek@redhat.com>
548
549 PR c/58346
550 * typeck.c (pointer_diff): Give an error on arithmetic on pointer to
551 an empty aggregate.
552
553 2014-01-23 Jason Merrill <jason@redhat.com>
554
555 PR c++/55189
556 * cp-tree.h (struct language_function): Add infinite_loop and
557 infinite_loops.
558 (current_function_infinite_loop): New.
559 * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop)
560 (break_maybe_infinite_loop): New.
561 (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt)
562 (finish_do_stmt, finish_for_cond, finish_for_stmt)
563 (begin_range_for_stmt): Use them.
564 * decl.c (finish_function): Don't warn about missing return
565 if current_function_infinite_loop.
566 * pt.c (instantiate_decl): Copy current_function_infinite_loop.
567 * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop.
568
569 * call.c (build_op_delete_call): Use make_tree_vector and
570 release_tree_vector.
571
572 2014-01-23 Paolo Carlini <paolo.carlini@oracle.com>
573
574 PR c++/58980
575 * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
576 nested_name_specifier.
577
578 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
579
580 * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
581 see if there is an attribute after function decl. If so, then
582 parse them now.
583 (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
584 enabled function late parsing.
585 (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
586 attribute for a SIMD-enabled function.
587 (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
588 the function is used by SIMD-enabled function (indicated by NULL
589 pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
590 PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
591 (cp_parser_cilk_simd_vectorlength): Modified this function to handle
592 vectorlength clause in SIMD-enabled function and #pragma SIMD's
593 vectorlength clause. Added a new bool parameter to differentiate
594 between the two.
595 (cp_parser_cilk_simd_fn_vector_attrs): New function.
596 (is_cilkplus_vector_p): Likewise.
597 (cp_parser_late_parsing_elem_fn_info): Likewise.
598 (cp_parser_omp_clause_name): Added a check for "mask", "nomask"
599 and "vectorlength" clauses when Cilk Plus is enabled.
600 (cp_parser_omp_clause_linear): Added a new parameter of type bool
601 and emit a sorry message when step size is a parameter.
602 * parser.h (cp_parser::cilk_simd_fn_info): New field.
603 * decl.c (grokfndecl): Added flag_enable_cilkplus along with
604 flag_openmp.
605 * pt.c (apply_late_template_attributes): Likewise.
606
607 2014-01-23 Jakub Jelinek <jakub@redhat.com>
608
609 PR middle-end/58809
610 * semantics.c (finish_omp_reduction_clause): Reject
611 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
612
613 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com>
614
615 PR c++/59482
616 * parser.c (cp_parser_class_head): Push the class before parsing
617 the base-clause, pop after it.
618
619 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
620
621 * decl2.c (cpp_check): Revert prototype change.
622
623 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
624
625 PR c++/59270
626 PR c++/58811
627 * init.c (build_value_init_noctor): Don't pass error_mark_node to
628 build_value_init.
629
630 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
631
632 PR c++/59269
633 * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
634 only when errorcount == 0.
635
636 2014-01-17 Marek Polacek <polacek@redhat.com>
637
638 PR c++/59838
639 * cvt.c (ocp_convert): Don't segfault on non-existing
640 ENUM_UNDERLYING_TYPE.
641
642 2014-01-16 Jason Merrill <jason@redhat.com>
643
644 PR c++/59821
645 * tree.c (bot_manip): Update the location of builtin_LINE and
646 builtin_FILE calls.
647
648 2014-01-14 Jason Merrill <jason@redhat.com>
649
650 PR c++/59659
651 * typeck2.c (massage_init_elt): New.
652 (process_init_constructor_record)
653 (process_init_constructor_union): Use it.
654 (process_init_constructor_array): Use it. Use RANGE_EXPR.
655 (split_nonconstant_init_1): Handle it.
656 * semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
657
658 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
659
660 PR c++/59631
661 * parser.c (cp_parser_postfix_expression): Added a new if-statement
662 and replaced an existing if-statement with else-if statement.
663 Changed an existing error message wording to match the one from the C
664 parser.
665
666 2014-01-08 Jason Merrill <jason@redhat.com>
667
668 PR c++/59614
669 * class.c (abi_tag_data): Add tags field.
670 (check_abi_tags): Initialize it.
671 (find_abi_tags_r): Support collecting missing tags.
672 (mark_type_abi_tags): Don't look at template args.
673 (inherit_targ_abi_tags): New.
674 (check_bases_and_members): Use it.
675 * cp-tree.h (ABI_TAG_IMPLICIT): New.
676 * mangle.c (write_abi_tags): Check it.
677
678 2014-01-07 Jason Merrill <jason@redhat.com>
679
680 PR c++/58856
681 * pt.c (num_innermost_template_parms): New.
682 (get_underlying_template): Use it.
683
684 PR c++/58965
685 * mangle.c (write_guarded_var_name): Handle null DECL_NAME.
686
687 2014-01-07 Paolo Carlini <paolo.carlini@oracle.com>
688
689 * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
690 the letter of 20.11.6 about Base and Derived naming the same
691 class type modulo cv-qualifiers.
692
693 2014-01-06 Adam Butcher <adam@jessamine.co.uk>
694
695 PR c++/59635
696 * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
697 function as unimplemented for generic lambdas with varargs.
698
699 PR c++/59636
700 * parser.c (cp_parser_template_parameter): Early out with
701 error_mark_node if parameter declaration was not parsed.
702
703 PR c++/59629
704 * parser.c (cp_parser_lambda_expression): Save/reset/restore
705 auto_is_implicit_function_template_parm_p around lambda body.
706
707 PR c++/59638
708 * parser.c (cp_parser_init_declarator): Undo fully implicit
709 template parameter list when declarator is not a function.
710
711 2014-01-03 Marc Glisse <marc.glisse@inria.fr>
712
713 PR c++/58950
714 * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
715
716 2014-01-03 Tobias Burnus <burnus@net-b.de>
717
718 PR c++/58567
719 * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.
720
721 2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
722
723 Core DR 1442
724 PR c++/59165
725 * parser.c (cp_parser_perform_range_for_lookup): Don't pass true
726 as include_std to perform_koenig_lookup.
727 (cp_parser_postfix_expression): Adjust.
728 * pt.c (tsubst_copy_and_build): Likewise.
729 * semantics.c (perform_koenig_lookup): Remove bool parameter.
730 (omp_reduction_lookup): Adjust.
731 * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
732 (lookup_arg_dependent): Likewise.
733 (lookup_function_nonclass): Adjust.
734 * name-lookup.h: Adjust declaration.
735 * cp-tree.h: Likewise.
736
737 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
738
739 PR c++/59087
740 * parser.c (cp_parser_userdef_numeric_literal): Mention
741 -fext-numeric-literals in the message.
742
743 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
744
745 PR c++/59641
746 * call.c (build_conditional_expr_1): Check the return value of
747 force_rvalue.
748
749 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
750
751 * call.c (convert_like_real): Check complain.
752
753 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
754
755 PR c++/59378
756 * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
757 in templates.
758
759 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
760
761 Update copyright years
762
763 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
764
765 * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
766 the standard form for the copyright notice.
767 \f
768 Copyright (C) 2014 Free Software Foundation, Inc.
769
770 Copying and distribution of this file, with or without modification,
771 are permitted in any medium without royalty provided the copyright
772 notice and this notice are preserved.