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