1 2013-02-01 Jakub Jelinek <jakub@redhat.com>
3 Backported from mainline
4 2012-12-13 Jakub Jelinek <jakub@redhat.com>
7 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
10 2012-12-06 Jakub Jelinek <jakub@redhat.com>
13 * except.c (build_noexcept_spec): Avoid direct comparison
14 with boolean_true_node or boolean_false_node, instead use
15 operand_equal_p and/or INTEGER_CST check.
16 * pt.c (tsubst_exception_specification): Likewise.
17 * typeck2.c (merge_exception_specifiers): Likewise.
19 2012-12-01 Jakub Jelinek <jakub@redhat.com>
22 * pt.c (make_ith_pack_parameter_name): Return NULL if
24 (tsubst_decl): Call make_ith_pack_parameter_name even if
27 2012-11-23 Jakub Jelinek <jakub@redhat.com>
30 * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
31 * cp-objcp-common.c (cxx_block_may_fallthru): New function.
32 * cp-tree.h (cxx_block_may_fallthru): New prototype.
34 2013-01-25 Jason Merrill <jason@redhat.com>
37 * typeck.c (get_member_function_from_ptrfunc): Don't fold
40 2013-01-22 Jason Merrill <jason@redhat.com>
42 * call.c (type_has_extended_temps): Fix C++ism.
45 * call.c (type_has_extended_temps): New.
46 * cp-tree.h: Declare it.
47 * decl.c (check_initializer): Use build_aggr_init for arrays
49 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
52 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
54 2013-01-21 Jason Merrill <jason@redhat.com>
57 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
60 2013-01-09 Jason Merrill <jason@redhat.com>
63 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
66 2013-01-08 Joel Brobecker <brobecker@adacore.com>
68 * parser.c (cp_parser_initializer_list): Move declaration
69 of variable non_const to start of lexical block.
71 2013-01-04 Jason Merrill <jason@redhat.com>
74 * decl.c (reset_type_linkage, bt_reset_linkage): New.
75 (grokdeclarator): Use reset_type_linkage.
76 * name-lookup.c (binding_table_foreach): Handle null table.
77 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
79 2013-01-03 Jason Merrill <jason@redhat.com>
83 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
87 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
90 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
92 2013-01-02 Jason Merrill <jason@redhat.com>
95 * call.c (build_new_method_call_1): Don't use build_value_init for
96 user-provided default constructors.
100 * tree.c (build_cplus_array_type): Copy layout information
101 to main variant if necessary.
103 2012-12-19 Jason Merrill <jason@redhat.com>
106 * pt.c (type_unification_real): Re-combine post-deduction loops.
108 2012-12-11 Jason Merrill <jason@redhat.com>
111 * decl2.c (min_vis_r): Handle anon visibility for enums.
113 2012-12-11 Jakub Jelinek <jakub@redhat.com>
116 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
118 2012-12-07 Jason Merrill <jason@redhat.com>
121 * tree.c (build_target_expr): Don't set TREE_CONSTANT.
123 2012-12-07 Matthias Klose <doko@ubuntu.com>
125 * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
127 2012-12-06 Jason Merrill <jason@redhat.com>
130 * tree.c (build_aggr_init_expr): Don't check for abstract class.
131 (build_cplus_new): Check here instead.
134 * pt.c (tsubst): Keep the quals when looking through a typedef.
137 * tree.c (build_vec_init_elt): Use the type of the initializer.
140 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
143 * parser.c (cp_parser_initializer_list): Don't require an
144 expression in [] to be constant until we know it's a C99
149 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
150 * decl.c (start_preparsed_function): Make local class methods comdat
153 2012-11-29 Jason Merrill <jason@redhat.com>
156 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
157 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
158 (instantiate_class_template_1): Not here.
161 * pt.c (tsubst_arg_types): Add "end" parameter.
162 (check_undeduced_parms): Use it.
165 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
168 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
169 (struct template_parm_index_s): Remove num_siblings.
170 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
171 (fixup_template_type_parm_type): Remove.
172 (build_template_parm_index): Remove num_siblings parm.
173 (process_template_parm): Likewise.
174 * parser.c (cp_parser_template_parameter_list): Adjust.
175 * tree.c (cp_tree_equal): Don't compare num_siblings.
176 * typeck.c (comp_template_parms_position): Likewise.
180 * tree.c (strip_typedefs_expr): New.
181 * cp-tree.h: Declare it.
182 * pt.c (convert_template_argument, unify): Use it.
183 * parser.c (cp_parser_template_declaration_after_export): Don't call
184 fixup_template_parms.
186 2012-11-29 Kai Tietz <ktietz@redhat.com>
189 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
190 (dump_vtable): Likewise.
192 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
195 * init.c (build_vec_init): Do not early return error_mark_mode
196 when integer_all_onesp (maxindex).
198 2012-11-05 Jakub Jelinek <jakub@redhat.com>
200 Backported from mainline
201 2012-10-23 Jakub Jelinek <jakub@redhat.com>
204 * decl2.c (cplus_decl_attributes): Don't return early
205 if attributes is NULL.
207 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
210 * init.c (build_new): Don't turn a null *init into a pointer to
211 empty vector orig_init.
213 2012-10-08 Jakub Jelinek <jakub@redhat.com>
216 * tree.c (cp_tree_equal): Handle FIELD_DECL.
218 2012-10-03 Jakub Jelinek <jakub@redhat.com>
221 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
222 not ignoring the second operand, pass the original second operand
223 and not one with stripped nops to cxx_eval_constant_expression.
225 2012-09-20 Release Manager
227 * GCC 4.7.2 released.
229 2012-09-14 Jason Merrill <jason@redhat.com>
232 * typeck2.c (check_narrowing): Avoid false positives on conversion
235 2012-09-13 Jason Merrill <jason@redhat.com>
238 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
239 address, make sure the value is constant.
241 2012-09-13 Jason Merrill <jason@redhat.com>
244 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
246 2012-09-13 Jason Merrill <jason@redhat.com>
249 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
252 2012-09-10 Jason Merrill <jason@redhat.com>
255 * decl.c (move_signature_fn_p): Split out from move_fn_p.
256 * method.c (process_subob_fn): Use it.
257 * cp-tree.h: Declare it.
261 * semantics.c (sort_constexpr_mem_initializers): New.
262 (build_constexpr_constructor_member_initializers): Use it.
263 (cx_check_missing_mem_inits): Skip artificial fields.
264 * init.c (expand_aggr_init_1): Don't zero out a class
268 * decl.c (grokdeclarator): Allow const and constexpr together.
270 2012-08-31 Ollie Wild <aaw@google.com>
273 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
275 2012-07-20 Jason Merrill <jason@redhat.com>
278 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
279 canonical array type rather than mess with its TYPE_*_VARIANT.
281 2012-07-19 Jason Merrill <jason@redhat.com>
284 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
286 2012-07-18 Jason Merrill <jason@redhat.com>
288 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
289 before trying to store through it.
291 2012-07-17 Jason Merrill <jason@redhat.com>
294 * decl.c (finish_enum_value_list): Only call
295 insert_late_enum_def_into_classtype_sorted_fields in class scope.
297 2012-07-17 Jason Merrill <jason@redhat.com>
300 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
301 to the list of variants.
303 2012-07-17 Jason Merrill <jason@redhat.com>
306 * parser.c (cp_parser_class_head): Call xref_basetypes here.
307 (cp_parser_class_specifier_1): Not here.
308 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
309 as well as DECL_DEPENDENT_P.
311 2012-07-13 Jason Merrill <jason@redhat.com>
314 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
316 2012-07-10 Jason Merrill <jason@redhat.com>
320 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
321 (struct lang_decl_fn): Add suppress_implicit_decl field.
322 * method.c (implicitly_declare_fn): Check it.
323 (process_subob_fn): Add no_implicit_p parm.
324 (walk_field_subobs, synthesized_method_walk): Likewise.
325 (maybe_explain_implicit_delete): Adjust.
326 (explain_implicit_non_constexpr): Adjust.
328 * method.c (synthesized_method_walk): Cleanups don't affect the EH
331 2012-07-02 Jason Merrill <jason@redhat.com>
334 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
335 (current_function_decl) instead of processing_template_decl.
338 * semantics.c (maybe_add_lambda_conv_op): Don't set
339 DECL_INTERFACE_KNOWN.
341 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
344 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
346 * class.c (insert_into_classtype_sorted_fields): New.
347 (add_enum_fields_to_record_type): New.
348 (count_fields): Adjust the comment.
349 (add_fields_to_record_type): Likewise.
350 (finish_struct_1): Move the code that inserts the fields for the
351 sorted case, into insert_into_classtype_sorted_fields, and call
353 (insert_late_enum_def_into_classtype_sorted_fields): Define.
354 * decl.c (finish_enum_value_list): Call
355 insert_late_enum_def_into_classtype_sorted_fields if a late enum
356 definition is encountered.
358 2012-06-25 Jason Merrill <jason@redhat.com>
362 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
365 * typeck.c (decay_conversion): Don't discard side-effects from
366 expressions of nullptr_t.
369 * semantics.c (build_data_member_initialization): Always keep
370 initializer for empty base.
371 (cxx_eval_bare_aggregate): Discard it here.
373 2012-06-25 Jakub Jelinek <jakub@redhat.com>
376 * class.c (check_bases_and_members): Avoid -Wuninitialized
377 diagnostics for non-static const members or references if they
380 2012-06-19 Jason Merrill <jason@redhat.com>
383 * name-lookup.c (constructor_name_p): Don't try to look at the
384 name of a DECLTYPE_TYPE.
388 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
389 (instantiate_decl): Don't push_to_top_level for local class methods.
390 (instantiate_class_template_1): Or for local classes.
393 * pt.c (lookup_template_class_1): Use ts_global.
395 2012-06-14 Richard Guenther <rguenther@suse.de>
397 Backport from mainline
398 2012-06-11 Richard Guenther <rguenther@suse.de>
401 * mangle.c (write_array_type): Use double-ints for array domain
404 2012-06-14 Richard Guenther <rguenther@suse.de>
406 Backport from mainline
407 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
410 * parser.c (cp_parser_alias_declaration): Return earlier
413 2012-06-14 Release Manager
415 * GCC 4.7.1 released.
417 2012-06-12 Jason Merrill <jason@redhat.com>
422 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
423 (instantiate_decl): Don't push_to_top_level for local class methods.
424 (instantiate_class_template_1): Or for local classes.
426 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
429 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
430 to control enumeral mismatch in conditional expression too.
432 2012-06-01 Jason Merrill <jason@redhat.com>
435 * parser.c (cp_parser_class_head): Apply attributes here.
436 * semantics.c (begin_class_definition): Not here.
440 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
441 tentatively and the LHS has a parse error.
443 2012-06-01 Jason Merrill <jason@redhat.com>
446 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
447 (instantiate_decl): Don't push_to_top_level for local class methods.
448 (instantiate_class_template_1): Or for local classes.
451 * pt.c (do_auto_deduction): Don't try to deduce from a
452 type-dependent initializer.
454 2012-05-31 Jason Merrill <jason@redhat.com>
458 * call.c (joust): Handle comparing list and non-list ctors.
460 2012-05-30 Jason Merrill <jason@redhat.com>
463 * tree.c (stabilize_init): Side effects make the init unstable.
465 2012-05-30 Jason Merrill <jason@redhat.com>
468 * call.c (convert_like_real) [ck_list]: Take array address directly.
469 * typeck.c (decay_conversion): Reject decay of an array compound
472 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
475 * tree.c (stabilize_expr): Handle exp of void type.
477 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
480 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
482 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
485 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
487 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
490 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
491 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
493 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
496 * call.c (build_over_call): Handle final member functions
498 (build_new_method_call_1): Do not handle here.
500 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
503 * parser.c (cp_parser_member_declaration): Check that
504 initializer_token_start is non null before dereferencing it.
506 2012-04-16 Jason Merrill <jason@redhat.com>
509 * pt.c (determine_specialization): Instead of comparing the number
510 of parms, check that tsubst gives the right answer.
513 * pt.c (convert_template_argument): Handle template template
517 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
520 2012-04-15 Jason Merrill <jason@redhat.com>
524 * pt.c (coerce_template_parms): Even if we aren't converting we
525 want to expand argument packs.
527 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
530 * parser.c (cp_parser_class_name): Call strip_using_decl and
531 return the target decl.
532 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
533 to be stripped is NULL_TREE.
534 (qualify_lookup): Call strip_using_decl and perform some checks on
537 2012-04-13 Jason Merrill <jason@redhat.com>
540 * pt.c (any_pack_expanson_args_p): New.
541 (coerce_template_parms): Use it.
543 2012-04-11 Jason Merrill <jason@redhat.com>
546 * decl.c (check_tag_decl): Don't complain about attributes if we
547 don't even have a type.
549 2012-04-05 Jason Merrill <jason@redhat.com>
552 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
555 2012-04-03 Jason Merrill <jason@redhat.com>
558 * pt.c (tsubst_initializer_list): A pack expansion with no elements
559 means value-initialization.
561 2012-03-29 Meador Inge <meadori@codesourcery.com>
564 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
565 stripped child trees that are not pointer types.
567 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
570 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
571 warn for a zero as null pointer constant default argument.
573 2012-03-29 Jason Merrill <jason@redhat.com>
576 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
578 2012-03-29 Jakub Jelinek <jakub@redhat.com>
581 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
582 if processing_template_decl.
584 2012-03-29 Jason Merrill <jason@redhat.com>
587 * call.c (compare_ics): Handle ck_aggr like ck_list.
589 2012-03-28 Jason Merrill <jason@redhat.com>
592 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
593 we didn't get an explicit scope.
594 * pt.c (tsubst_baselink): Likewise.
596 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
599 * class.c (check_field_decls): Call literal_type_p only
602 2012-03-22 Jakub Jelinek <jakub@redhat.com>
605 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
606 on CLASS_TYPE_P types.
608 2012-03-22 Jason Merrill <jason@redhat.com>
611 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
613 2012-03-22 Jakub Jelinek <jakub@redhat.com>
615 Backported from mainline
616 2012-03-14 Jakub Jelinek <jakub@redhat.com>
619 * parser.c (lookup_literal_operator): Return fn only if
620 processed all arguments from args vector and argtypes is
623 2012-03-22 Release Manager
625 * GCC 4.7.0 released.
627 2012-03-20 Jason Merrill <jason@redhat.com>
629 * mangle.c (write_type): Handle 'auto'.
630 * init.c (build_new): Don't do auto deduction where it might
631 affect template mangling.
633 2012-03-07 Jason Merrill <jason@redhat.com>
636 * mangle.c (write_literal_operator_name): The length comes after the
639 2012-02-29 Jason Merrill <jason@redhat.com>
642 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
643 (shadow_tag): From here.
644 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
646 2012-02-21 Jakub Jelinek <jakub@redhat.com>
649 * typeck.c (check_literal_operator_args): Initialize *long_double_p
650 and *long_long_unsigned_p even if processing_template_decl.
652 2012-02-16 Jason Merrill <jason@redhat.com>
655 * decl.c (define_label): Use timevar_cond_start/stop.
657 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
660 * decl.c (xref_basetypes): call dependent_scope_p instead of
663 2012-02-16 Jason Merrill <jason@redhat.com>
666 * error.c (dump_expr): Handle lambda closures specifically.
668 2012-02-14 Jason Merrill <jason@redhat.com>
670 * parser.c (cp_parser_explicit_instantiation): Give a warning
671 for ignored attributes on explicit class instantiation.
673 2012-02-14 Jakub Jelinek <jakub@redhat.com>
676 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
677 lookup_label on label's name and set TREE_USED.
679 2012-02-14 Jason Merrill <jason@redhat.com>
682 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
684 2012-02-14 Jakub Jelinek <jakub@redhat.com>
687 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
688 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
690 2012-02-07 Jason Merrill <jason@redhat.com>
693 * semantics.c (cx_check_missing_mem_inits): Handle unions.
694 Fix constexpr default constructor logic.
697 * pt.c (tsubst): Strip uninstantiated typedef.
699 2012-02-06 Jason Merrill <jason@redhat.com>
702 * cvt.c (build_expr_type_conversion): Check for template conversion.
704 2012-01-31 Jason Merrill <jason@redhat.com>
707 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
708 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
709 (tsubst_pack_expansion): Check it.
711 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
714 * class.c (explain_non_literal_class): Correctly handle implicitly
715 deleted constructors.
717 2012-01-27 Jakub Jelinek <jakub@redhat.com>
720 * pt.c (tsubst_pack_expansion): Delete and restore
721 local_specialization whenever need_local_specialization, not just
722 when saved_local_specializations is non-NULL.
724 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
727 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
728 as TREE_OPERAND (t, 1).
730 2012-01-24 Jason Merrill <jason@redhat.com>
733 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
736 * tree.c (called_fns_equal): Check template args.
737 (cp_tree_equal): Call it.
739 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
740 Patrick Marlier <patrick.marlier@gmail.com>
743 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
744 thunk for set_one_vmethod_tm_attributes.
746 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
749 * call.c (build_over_call): Check for error_mark_node as
750 TREE_VALUE when default arguments are processed.
752 2012-01-23 Jason Merrill <jason@redhat.com>
755 * decl2.c (determine_visibility): Check for visibility attribute
756 on template specialization.
758 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
761 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
763 2012-01-23 Jason Merrill <jason@redhat.com>
766 * class.c (add_method): Set OVL_USED for using-decls.
767 * tree.c (ovl_scope): New.
768 * cp-tree.h: Declare it.
769 * parser.c (cp_parser_template_name): Use it.
770 * semantics.c (baselink_for_fns): Likewise.
771 * name-lookup.c (set_inherited_value_binding_p): Likewise.
773 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
776 * pt.c (lookup_template_class_1): Check context returned by
777 tsubst for error_mark_node.
779 2012-01-19 Kai Tietz <ktietz@redhat.com>
782 * decl2.c (save_template_attributes): Use merge_attributes
783 instead of chaining up via TREE_CHAIN.
785 2012-01-19 Jason Merrill <jason@redhat.com>
788 * class.c (finish_struct): Call add_method here for function usings.
789 * semantics.c (finish_member_declaration): Not here.
791 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
794 * typeck2.c (store_init_value): Within a template guard
795 cxx_constant_value with require_potential_constant_expression.
796 * pt.c (convert_nontype_argument): Likewise.
798 2012-01-16 Jakub Jelinek <jakub@redhat.com>
801 * mangle.c (write_template_arg_literal): Handle complex.
803 2012-01-16 Jason Merrill <jason@redhat.com>
806 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
809 * typeck.c (build_static_cast_1): Handle bit-fields properly.
811 2012-01-13 Ian Lance Taylor <iant@google.com>
814 * typeck.c (enum_cast_to_int): New static function.
815 (cp_build_binary_op): When handling warn_sign_compare, don't test
816 for TREE_NO_WARNING. Do call enum_cast_to_int.
817 * call.c (avoid_sign_compare_warnings): Remove static function.
818 (build_new_op_1): Don't call avoid_sign_compare_warnings.
820 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
822 * decl2.c: Do not include tree-mudflap.h
823 * semantics.c: Likewise.
825 2012-01-13 Jason Merrill <jason@redhat.com>
828 * semantics.c (finish_break_stmt): Avoid adding an unreachable
832 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
833 when reducing the visibility.
836 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
838 2012-01-12 Jason Merrill <jason@redhat.com>
841 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
844 2012-01-13 Dodji Seketeli <dodji@redhat.com>
847 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
848 Set the pointer to the last block of the constructor to the
850 (build_constexpr_constructor_member_initializers): Get
851 build_data_member_initialization a chance to deal with more
852 statements before we choke.
854 2012-01-12 Jason Merrill <jason@redhat.com>
857 * mangle.c (write_expression): Mangle BASELINK scope if
858 BASELINK_QUALIFIED_P.
859 * search.c (adjust_result_of_qualified_name_lookup): Set
860 BASELINK_QUALIFIED_P.
861 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
862 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
863 adjust_result_of_qualified_name_lookup for non-qualified names.
866 * pt.c (unify): Handle error_mark_node.
868 2012-01-11 Jason Merrill <jason@redhat.com>
871 * call.c (standard_conversion): For ptrmemfuncs, compare the
875 * mangle.c (find_substitution): A type is only a substitution
876 match if we're looking for a type.
877 (write_nested_name): Use decl_mangling_context.
879 * decl.c (decls_match): Assert that the arguments are decls.
882 * pt.c (resolve_overloaded_unification): Compare types with
883 same_type_p, not decls_match.
885 2012-01-10 Jason Merrill <jason@redhat.com>
888 * class.c (build_base_path): Diagnose ambiguous base.
891 * semantics.c (cxx_eval_call_expression): Always retry previously
892 non-constant expressions.
894 2012-01-06 Jason Merrill <jason@redhat.com>
898 * parser.c (cp_parser_new_expression): Set
899 type_definition_forbidden_message.
905 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
906 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
908 (write_template_arg): Fix mangling of class-scope functions and
910 (mangle_decl): Update suggested -fabi-version argument.
911 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
912 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
913 * tree.c (dependent_name): No longer static.
914 * cp-tree.h: Declare it.
915 * pt.c (unify): Defer handling of unconverted functions.
917 * mangle.c (mangle_decl): Don't generate mangling aliases
918 for maybe-in-charge [cd]tors.
920 * error.c (dump_expr): Print type of CONSTRUCTOR.
922 2012-01-05 Dodji Seketeli <dodji@redhat.com>
925 * parser.c (cp_parser_alias_declaration): Get out early upon
926 errors in the identifier or the attributes.
928 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
931 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
932 the tree returned by build_x_binary_op.
934 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
937 * parser.c (cp_parser_postfix_open_square_expression): Handle
938 postfix-expression [ braced-init-list ].
940 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
943 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
944 call decay_conversion on v.
946 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
949 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
950 declaration followed by specialization.
952 2012-01-03 Jakub Jelinek <jakub@redhat.com>
955 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
956 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
958 2012-01-02 Jason Merrill <jason@redhat.com>
962 * method.c (walk_field_subobs): Don't check for uninitialized
964 (synthesized_method_walk): Check here.
968 * parser.c (cp_parser_cache_defarg): Split out...
969 (cp_parser_parameter_declaration): ...from here.
970 (cp_parser_save_nsdmi): Use it.
971 (cp_parser_cache_group): Remove CPP_COMMA support.
973 2012-01-02 Dodji Seketeli <dodji@redhat.com>
976 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
979 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
982 * typeck2.c (digest_init_r): Use copy_init when initializing
985 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
988 * decl.c (build_enumerator): Don't call perform_integral_promotions
991 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
994 * typeck.c (build_reinterpret_cast_1): Implement resolution of
997 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
999 * parser.c (cp_parser_using_declaration): Add a warning about
1000 deprecated access declarations when no errors were encountered
1001 while parsing the access declaration. Save the first token in
1002 order to emit the warning at the right place.
1004 Copyright (C) 2012 Free Software Foundation, Inc.
1006 Copying and distribution of this file, with or without modification,
1007 are permitted in any medium without royalty provided the copyright
1008 notice and this notice are preserved.