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