1 2014-03-07 Jason Merrill <jason@redhat.com>
3 * Make-lang.in (check_g++_parallelize): Split dg.exp.
5 * parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
6 we're in a trailing return type.
8 * typeck.c (comp_template_parms_position): 'auto' and
9 'decltype(auto)' are different from real template parms.
11 * parser.c (cp_parser_using_declaration): Consume the semicolon
12 after bare parameter pack error.
14 * cp-tree.h (REF_PARENTHESIZED_P): New.
15 * semantics.c (force_paren_expr): Set it.
16 * pt.c (do_auto_deduction): Check it.
17 (tsubst) [COMPONENT_REF]: Copy it.
18 * typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
20 * decl.c (create_array_type_for_decl): Only warn about invalid
21 C++1y VLA if flag_iso or warn_vla>0.
22 (grokdeclarator): Likewise.
23 * pt.c (tsubst): Likewise.
24 * semantics.c (finish_decltype_type): Likewise.
25 * typeck.c (cxx_sizeof_or_alignof_type): Likewise.
26 (cp_build_addr_expr_1): Likewise.
27 * init.c (build_new_1): Improve diagnostics.
29 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
32 * decl.c (check_initializer): Return NULL_TREE after error;
33 consistently use inform.
35 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
37 * decl.c (check_initializer): Remove dead code.
39 2014-03-06 Marek Polacek <polacek@redhat.com>
42 * typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
43 of checking tree code.
45 2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
47 * parser.c (cp_lexer_set_source_position): New.
48 (cp_parser_mem_initializer): Use it.
49 (cp_parser_postfix_open_square_expression): Likewise.
50 (cp_parser_parenthesized_expression_list): Likewise.
51 (cp_parser_new_initializer): Likewise.
52 (cp_parser_jump_statement): Likewise.
53 (cp_parser_initializer): Likewise.
54 (cp_parser_functional_cast): Likewise.
56 2014-03-05 Jason Merrill <jason@redhat.com>
59 * semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
63 * parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
64 if re-parsing might succeed.
65 * semantics.c (finish_id_expression): Use of a parameter outside
66 the function body is a parse error.
68 * parser.c (cp_parser_mem_initializer): Set input_location
69 properly for init-list warning.
70 (cp_parser_postfix_open_square_expression): Likewise.
71 (cp_parser_parenthesized_expression_list): Likewise.
72 (cp_parser_new_initializer): Likewise.
73 (cp_parser_jump_statement): Likewise.
74 (cp_parser_initializer): Likewise.
75 (cp_parser_functional_cast): Likewise.
77 2014-03-04 Jason Merrill <jason@redhat.com>
80 * typeck2.c (process_init_constructor_record): Set
81 CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers.
85 * parser.c (cp_parser_direct_declarator): Set declarator to
86 cp_error_declarator on invalid qualified-id.
88 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
91 * parser.c (cp_parser_using_declaration): Early return when
92 cp_parser_nested_name_specifier errors out.
94 2014-03-01 Adam Butcher <adam@jessamine.co.uk>
97 * parser.c (cp_parser_parameter_declaration_clause): Unwind generic
98 function scope on parse error in function parameter list.
100 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
102 * method.c (implicitly_declare_fn): Remove redundant
103 DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
104 * semantics.c (is_instantiation_of_constexpr): Likewise.
105 * error.c (dump_function_decl): Likewise.
107 2014-03-01 Jason Merrill <jason@redhat.com>
110 * semantics.c (begin_maybe_infinite_loop): Use
111 fold_non_dependent_expr_sfinae.
113 2014-02-28 Jason Merrill <jason@redhat.com>
116 * typeck.c (cp_build_binary_op): Sorry on vector&&vector.
118 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
121 * cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK.
122 * call.c (print_z_candidate): Remove STRIP_TEMPLATE use.
123 * lambda.c (maybe_add_lambda_conv_op): Likewise.
125 2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
128 * call.c (convert_arg_to_ellipsis): Return error_mark_node after
131 2014-02-27 Jason Merrill <jason@redhat.com>
135 * decl2.c (tentative_decl_linkage): Don't mess with functions that
138 2014-02-26 Jason Merrill <jason@redhat.com>
142 * class.c (clone_function_decl): Don't note_vague_linkage_fn.
143 * init.c (build_vtbl_address): Do it here.
149 * pt.c (struct warning_sentinel): New.
150 (tsubst_copy_and_build): Use it instead of
151 c_inhibit_evaluation_warnings.
152 * typeck.c (maybe_warn_about_useless_cast): Remove
153 c_inhibit_evaluation_warnings check.
156 * pt.c (get_template_parm_index): New.
157 (fixed_parameter_pack_p_1, fixed_parameter_pack_p): New.
158 (process_template_parm): Allow bare packs in template template
160 (coerce_template_parameter_pack): Handle fixed template template
161 parm packs and fixed packs not at the end of the parm list.
162 (coerce_template_parms): Handle template parm packs not at the end
164 (gen_elem_of_pack_expansion_instantiation): Handle a decl expansion.
167 * pt.c (unify): Ignore alias templates when deducing a template
173 * call.c (reference_binding): Recurse on user-defined conversion.
174 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
176 2014-02-25 Jason Merrill <jason@redhat.com>
179 * call.c (reference_binding): Recurse on user-defined conversion.
180 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
182 * call.c (print_conversion_rejection): Handle n_arg of -2.
183 (build_user_type_conversion_1): Pass it.
186 * decl2.c (no_linkage_error): Handle C++98 semantics.
187 (reset_type_linkage): Move from decl.c.
188 (reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
189 (bt_reset_linkage_2, reset_decl_linkage): New.
190 (tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
191 (cp_write_global_declarations): Move condition into no_linkage_error.
192 * decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
193 * semantics.c (expand_or_defer_fn_1): Factor out
194 tentative_decl_linkage.
197 * decl2.c (finish_static_data_member_decl): Diagnose static data
198 member in unnamed class.
199 * class.c (finish_struct_anon_r): Avoid redundant diagnostic.
202 * class.c (clone_function_decl): Call note_vague_linkage_fn for
203 defaulted virtual dtor.
207 * pt.c (get_underlying_template): Fix equivalence calculation.
209 2014-02-25 Adam Butcher <adam@jessamine.co.uk>
212 * parser.c (function_being_declared_is_template_p): Return false when
213 processing a template parameter list.
214 (cp_parser_parameter_declaration_clause): Don't set
215 auto_is_implicit_function_template_parm_p when processing a
216 template parameter list.
218 * parser.c (synthesize_implicit_template_parm): Inject new template
219 argument list appropriately when a generic member function
220 of a class template is declared out-of-line.
223 * parser.c (cp_parser_direct_declarator): Don't save and
224 restore num_template_parameter_lists around call to
225 cp_parser_parameter_declaration_list.
226 (function_being_declared_is_template_p): New predicate.
227 (cp_parser_parameter_declaration_list): Use
228 function_being_declared_is_template_p as predicate for
229 inspecting current function template parameter list length
230 rather than num_template_parameter_lists.
232 2014-02-24 Jason Merrill <jason@redhat.com>
235 * pt.c (tsubst_omp_for_iterator): Don't let substitution of the
236 DECL_EXPR initialize a non-class iterator.
239 * parser.c (cp_parser_template_type_arg): Check for invalid 'auto'.
241 2014-02-21 Jason Merrill <jason@redhat.com>
244 * parser.c (cp_parser_type_name): Always check dependency.
245 (cp_parser_type_specifier_seq): Call
246 cp_parser_parse_and_diagnose_invalid_type_name.
249 * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
252 * parser.c (cp_parser_default_argument): Clear
253 current_class_ptr/current_class_ref like tsubst_default_argument.
256 * lambda.c (maybe_resolve_dummy): Check lambda_function rather
257 than current_binding_level.
260 * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
263 * parser.c (cp_parser_enum_specifier): Call
264 check_for_bare_parameter_packs.
267 * pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
271 * pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
272 of the partial instantiation, not the most general template.
273 (maybe_process_partial_specialization): Reassign everything on
277 * pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
278 (check_explicit_specialization): Don't clone.
281 * pt.c (coerce_template_parms): Bail if argument packing fails.
284 * decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
285 Don't get confused by a CONSTRUCTOR that already has a type.
288 * call.c (build_array_conv): Don't crash on VLA.
291 * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
294 * lambda.c (maybe_resolve_dummy): Don't try to capture this
295 in declaration context.
299 * pt.c (unify): Only unify if deducible. Handle 0-length list.
302 * parser.c (cp_parser_direct_declarator): Don't wrap a
303 type-dependent expression in a NOP_EXPR.
306 * lambda.c (is_normal_capture_proxy): Handle VLA capture.
311 * parser.c (cp_parser_template_argument): Restore dereference.
312 * pt.c (template_parm_to_arg): Dereference non-pack expansions too.
313 (process_partial_specialization): Handle deref.
316 2014-02-21 Adam Butcher <adam@jessamine.co.uk>
320 * parser.c (cp_parser_parameter_declaration_list): Correctly reset
321 implicit_template_scope upon leaving an out-of-line generic member
324 2014-02-20 Kai Tietz <ktietz@redhat.com>
327 * parser.c (cp_parser_functional_cast): Treat NULL_TREE
328 valued type argument as error_mark_node.
331 * semantics.c (finish_fname): Handle error_mark_node.
333 2014-02-19 Jason Merrill <jason@redhat.com>
336 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
337 spec from template context.
339 2014-02-19 Jakub Jelinek <jakub@redhat.com>
342 * cp-objcp-common.c (cp_function_decl_explicit_p): Remove
343 FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.
346 * pt.c (tsubst_expr): Handle ANNOTATE_EXPR.
348 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
351 * semantics.c (ensure_literal_type_for_constexpr_object): Use
354 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
357 * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
358 During error recovery allow_non_constant may be false.
360 2014-02-18 Adam Butcher <adam@jessamine.co.uk>
363 * parser.c (cp_parser_lambda_declarator_opt): Pop template parameter
364 scope whenever a template parameter list has been started, independent
365 of whether the function call operator was well-formed or not.
368 * parser.c (cp_parser_member_declaration): Pop fully implicit template
369 scope for generic friend declarations as well as for non-friends.
371 2014-02-12 Paolo Carlini <paolo.carlini@oracle.com>
374 * method.c (implicitly_declare_fn): A constructor of a class with
375 virtual base classes isn't constexpr (7.1.5p4).
377 2014-02-05 Jan Hubicka <hubicka@ucw.cz
379 * parser.c (synthesize_implicit_template_parm): Use grow_tree_vec.
381 2014-02-05 Jakub Jelinek <jakub@redhat.com>
384 * parser.c (cp_parser_omp_declare_reduction): Save and free
387 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
391 * tree.c (handle_init_priority_attribute): Call default_conversion on
392 the attribute argument.
394 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
397 * method.c (synthesized_method_walk): If vbases is non-null but
398 is_empty is true, likewise don't worry about the virtual bases.
400 2014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
403 * typeck2.c (process_init_constructor_record): Just skip unnamed
406 2014-01-31 Jason Merrill <jason@redhat.com>
409 * pt.c (mark_decl_instantiated): Call mark_needed.
412 * decl2.c (handle_tls_init): Handle null init fn.
415 * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
417 2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
420 * class.c (build_vfield_ref): Early return error_mark_node if
421 TYPE_VFIELD (type) is null.
422 (build_base_path): Check return value of build_vfield_ref.
424 2014-01-31 Jason Merrill <jason@redhat.com>
427 * call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
428 [ck_list]: Check for error_mark_node.
429 (build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.
432 * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
433 during partial ordering.
435 2014-01-31 Marek Polacek <polacek@redhat.com>
438 * typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
440 2014-01-30 Jason Merrill <jason@redhat.com>
443 * cp-tree.h (struct saved_scope): Add x_local_specializations.
444 (local_specializations): New macro.
445 * pt.c (local_specializations): Remove variable.
447 2014-01-30 Richard Sandiford <rdsandiford@googlemail.com>
450 * parser.c (make_string_pack): Use double_int::from_buffer.
452 2014-01-30 Marek Polacek <polacek@redhat.com>
455 * typeck.c (build_ptrmemfunc1): Call convert_and_check with
457 * cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
459 * call.c (build_conditional_expr_1): Call unsafe_conversion_p with
462 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
465 * typeck.c (lookup_destructor): Check dtor_type for error_mark_node.
467 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
470 * pt.c (lookup_template_class_1): Check start_enum return value
473 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
475 * decl.c (duplicate_decls, typename_hash, typename_compare):
477 * error.c (dump_type): Likewise.
478 * mangle.c (dump_substitution_candidates): Likewise.
480 2014-01-30 Jason Merrill <jason@redhat.com>
483 * decl2.c (attributes_naming_typedef_ok): New.
484 * cp-tree.h: Declare it.
485 * decl.c (grokdeclarator): Check it.
486 * tree.c (no_linkage_check): Handle VECTOR_TYPE.
488 2014-01-29 Jason Merrill <jason@redhat.com>
491 * call.c (add_builtin_candidate): Catch dependent types.
494 * pt.c (expand_template_argument_pack): Correct
495 non_default_args_count calculation.
498 * pt.c (unify_pack_expansion): Call expand_template_argument_pack.
501 * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
502 have a friend template in a class template.
503 * pt.c (tsubst_friend_function): Look through it.
504 (push_template_decl_real): A friend member template is
507 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
510 * decl.c (get_dso_handle_node): Don't crash if dso_handle_node
513 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
516 * pt.c (instantiate_template_1): Check for error_mark_node the second
519 2014-01-29 Jason Merrill <jason@redhat.com>
522 * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
523 cdtor_returns_this case.
526 * decl.c (cxx_maybe_build_cleanup): Call mark_used.
528 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
531 * semantics.c (finish_omp_reduction_clause): Check type for
534 2014-01-28 Jason Merrill <jason@redhat.com>
537 * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
538 (tsubst_copy): Use it if lookup fails.
541 * pt.c (tsubst_function_type): Make sure we keep the same function
545 * semantics.c (build_anon_member_initialization): Stop walking
546 when we run out of COMPONENT_REFs.
549 * decl.c (lookup_and_check_tag): Ignore template parameters if
551 * pt.c (check_template_shadow): Don't complain about the injected
554 * decl.c (duplicate_decls): Tweak.
557 * mangle.c (write_unqualified_name): Handle operator auto.
559 2014-01-27 Jason Merrill <jason@redhat.com>
563 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
564 list-initialization. A conversion to rvalue ref that involves
565 an lvalue-rvalue conversion is bad.
566 (convert_like_real): Give helpful error message.
569 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
572 * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
576 * pt.c (template_parm_to_arg): Call convert_from_reference.
577 (tsubst_template_arg): Don't strip reference refs.
580 * call.c (build_aggr_conv): Reject value-initialization of reference.
584 * call.c (convert_like_real): Give helpful error about excess braces
585 for ck_rvalue of scalar type.
588 * call.c (reference_binding): Only elide braces if the single
589 element is reference-related.
592 * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
596 * typeck.c (cp_truthvalue_conversion): Use explicit comparison for
600 * decl.c (compute_array_index_type): Don't call
601 maybe_constant_value for a non-integral expression.
603 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
605 * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with
607 * cp-gimplify.c (cp_genericize): Likewise.
608 * decl.c (grokfndecl): Likewise.
609 * parser.c (cp_parser_postfix_expression): Likewise.
610 (cp_parser_postfix_open_square_expression): Likewise.
611 (cp_parser_direct_declarator): Likewise.
612 (is_cilkplus_vector_p): Likewise.
613 (cp_parser_omp_clause_name): Likewise.
614 (cp_parser_omp_all_clauses): Likewise.
615 * pt.c (apply_late_template_attributes): Likewise.
616 * typeck.c (cp_build_array_ref): Likewise.
617 (cp_build_compound_expr): Likewise.
618 (check_return_expr): Likewise.
620 2014-01-24 Jason Merrill <jason@redhat.com>
623 * decl.c (grokdeclarator): Turn pedwarn about auto return type in
628 * typeck2.c (process_init_constructor_array): Don't create
631 2014-01-24 Jakub Jelinek <jakub@redhat.com>
633 * typeck2.c (split_nonconstant_init_1): Fix num_split_elts
634 handling for RANGE_ARRAY case.
636 2014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
639 * name-lookup.c (push_using_directive): Use timevar_cond_start.
641 2014-01-23 Marek Polacek <polacek@redhat.com>
644 * typeck.c (cp_build_binary_op): Pass location to shorten_compare.
646 2014-01-23 Marek Polacek <polacek@redhat.com>
649 * typeck.c (pointer_diff): Give an error on arithmetic on pointer to
652 2014-01-23 Jason Merrill <jason@redhat.com>
655 * cp-tree.h (struct language_function): Add infinite_loop and
657 (current_function_infinite_loop): New.
658 * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop)
659 (break_maybe_infinite_loop): New.
660 (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt)
661 (finish_do_stmt, finish_for_cond, finish_for_stmt)
662 (begin_range_for_stmt): Use them.
663 * decl.c (finish_function): Don't warn about missing return
664 if current_function_infinite_loop.
665 * pt.c (instantiate_decl): Copy current_function_infinite_loop.
666 * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop.
668 * call.c (build_op_delete_call): Use make_tree_vector and
671 2014-01-23 Paolo Carlini <paolo.carlini@oracle.com>
674 * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
675 nested_name_specifier.
677 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
679 * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
680 see if there is an attribute after function decl. If so, then
682 (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
683 enabled function late parsing.
684 (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
685 attribute for a SIMD-enabled function.
686 (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
687 the function is used by SIMD-enabled function (indicated by NULL
688 pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
689 PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
690 (cp_parser_cilk_simd_vectorlength): Modified this function to handle
691 vectorlength clause in SIMD-enabled function and #pragma SIMD's
692 vectorlength clause. Added a new bool parameter to differentiate
694 (cp_parser_cilk_simd_fn_vector_attrs): New function.
695 (is_cilkplus_vector_p): Likewise.
696 (cp_parser_late_parsing_elem_fn_info): Likewise.
697 (cp_parser_omp_clause_name): Added a check for "mask", "nomask"
698 and "vectorlength" clauses when Cilk Plus is enabled.
699 (cp_parser_omp_clause_linear): Added a new parameter of type bool
700 and emit a sorry message when step size is a parameter.
701 * parser.h (cp_parser::cilk_simd_fn_info): New field.
702 * decl.c (grokfndecl): Added flag_enable_cilkplus along with
704 * pt.c (apply_late_template_attributes): Likewise.
706 2014-01-23 Jakub Jelinek <jakub@redhat.com>
709 * semantics.c (finish_omp_reduction_clause): Reject
710 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
712 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com>
715 * parser.c (cp_parser_class_head): Push the class before parsing
716 the base-clause, pop after it.
718 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
720 * decl2.c (cpp_check): Revert prototype change.
722 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
726 * init.c (build_value_init_noctor): Don't pass error_mark_node to
729 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
732 * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
733 only when errorcount == 0.
735 2014-01-17 Marek Polacek <polacek@redhat.com>
738 * cvt.c (ocp_convert): Don't segfault on non-existing
739 ENUM_UNDERLYING_TYPE.
741 2014-01-16 Jason Merrill <jason@redhat.com>
744 * tree.c (bot_manip): Update the location of builtin_LINE and
747 2014-01-14 Jason Merrill <jason@redhat.com>
750 * typeck2.c (massage_init_elt): New.
751 (process_init_constructor_record)
752 (process_init_constructor_union): Use it.
753 (process_init_constructor_array): Use it. Use RANGE_EXPR.
754 (split_nonconstant_init_1): Handle it.
755 * semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
757 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
760 * parser.c (cp_parser_postfix_expression): Added a new if-statement
761 and replaced an existing if-statement with else-if statement.
762 Changed an existing error message wording to match the one from the C
765 2014-01-08 Jason Merrill <jason@redhat.com>
768 * class.c (abi_tag_data): Add tags field.
769 (check_abi_tags): Initialize it.
770 (find_abi_tags_r): Support collecting missing tags.
771 (mark_type_abi_tags): Don't look at template args.
772 (inherit_targ_abi_tags): New.
773 (check_bases_and_members): Use it.
774 * cp-tree.h (ABI_TAG_IMPLICIT): New.
775 * mangle.c (write_abi_tags): Check it.
777 2014-01-07 Jason Merrill <jason@redhat.com>
780 * pt.c (num_innermost_template_parms): New.
781 (get_underlying_template): Use it.
784 * mangle.c (write_guarded_var_name): Handle null DECL_NAME.
786 2014-01-07 Paolo Carlini <paolo.carlini@oracle.com>
788 * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
789 the letter of 20.11.6 about Base and Derived naming the same
790 class type modulo cv-qualifiers.
792 2014-01-06 Adam Butcher <adam@jessamine.co.uk>
795 * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
796 function as unimplemented for generic lambdas with varargs.
799 * parser.c (cp_parser_template_parameter): Early out with
800 error_mark_node if parameter declaration was not parsed.
803 * parser.c (cp_parser_lambda_expression): Save/reset/restore
804 auto_is_implicit_function_template_parm_p around lambda body.
807 * parser.c (cp_parser_init_declarator): Undo fully implicit
808 template parameter list when declarator is not a function.
810 2014-01-03 Marc Glisse <marc.glisse@inria.fr>
813 * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
815 2014-01-03 Tobias Burnus <burnus@net-b.de>
818 * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.
820 2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
824 * parser.c (cp_parser_perform_range_for_lookup): Don't pass true
825 as include_std to perform_koenig_lookup.
826 (cp_parser_postfix_expression): Adjust.
827 * pt.c (tsubst_copy_and_build): Likewise.
828 * semantics.c (perform_koenig_lookup): Remove bool parameter.
829 (omp_reduction_lookup): Adjust.
830 * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
831 (lookup_arg_dependent): Likewise.
832 (lookup_function_nonclass): Adjust.
833 * name-lookup.h: Adjust declaration.
834 * cp-tree.h: Likewise.
836 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
839 * parser.c (cp_parser_userdef_numeric_literal): Mention
840 -fext-numeric-literals in the message.
842 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
845 * call.c (build_conditional_expr_1): Check the return value of
848 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
850 * call.c (convert_like_real): Check complain.
852 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
855 * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
858 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
860 Update copyright years
862 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
864 * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
865 the standard form for the copyright notice.
867 Copyright (C) 2014 Free Software Foundation, Inc.
869 Copying and distribution of this file, with or without modification,
870 are permitted in any medium without royalty provided the copyright
871 notice and this notice are preserved.