1 2013-01-25 Jason Merrill <jason@redhat.com>
4 * typeck.c (get_member_function_from_ptrfunc): Don't fold
7 2013-01-22 Jason Merrill <jason@redhat.com>
9 * call.c (type_has_extended_temps): Fix C++ism.
12 * call.c (type_has_extended_temps): New.
13 * cp-tree.h: Declare it.
14 * decl.c (check_initializer): Use build_aggr_init for arrays
16 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
19 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
21 2013-01-21 Jason Merrill <jason@redhat.com>
24 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
27 2013-01-09 Jason Merrill <jason@redhat.com>
30 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
33 2013-01-08 Joel Brobecker <brobecker@adacore.com>
35 * parser.c (cp_parser_initializer_list): Move declaration
36 of variable non_const to start of lexical block.
38 2013-01-04 Jason Merrill <jason@redhat.com>
41 * decl.c (reset_type_linkage, bt_reset_linkage): New.
42 (grokdeclarator): Use reset_type_linkage.
43 * name-lookup.c (binding_table_foreach): Handle null table.
44 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
46 2013-01-03 Jason Merrill <jason@redhat.com>
50 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
54 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
57 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
59 2013-01-02 Jason Merrill <jason@redhat.com>
62 * call.c (build_new_method_call_1): Don't use build_value_init for
63 user-provided default constructors.
67 * tree.c (build_cplus_array_type): Copy layout information
68 to main variant if necessary.
70 2012-12-19 Jason Merrill <jason@redhat.com>
73 * pt.c (type_unification_real): Re-combine post-deduction loops.
75 2012-12-11 Jason Merrill <jason@redhat.com>
78 * decl2.c (min_vis_r): Handle anon visibility for enums.
80 2012-12-11 Jakub Jelinek <jakub@redhat.com>
83 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
85 2012-12-07 Jason Merrill <jason@redhat.com>
88 * tree.c (build_target_expr): Don't set TREE_CONSTANT.
90 2012-12-07 Matthias Klose <doko@ubuntu.com>
92 * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
94 2012-12-06 Jason Merrill <jason@redhat.com>
97 * tree.c (build_aggr_init_expr): Don't check for abstract class.
98 (build_cplus_new): Check here instead.
101 * pt.c (tsubst): Keep the quals when looking through a typedef.
104 * tree.c (build_vec_init_elt): Use the type of the initializer.
107 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
110 * parser.c (cp_parser_initializer_list): Don't require an
111 expression in [] to be constant until we know it's a C99
116 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
117 * decl.c (start_preparsed_function): Make local class methods comdat
120 2012-11-29 Jason Merrill <jason@redhat.com>
123 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
124 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
125 (instantiate_class_template_1): Not here.
128 * pt.c (tsubst_arg_types): Add "end" parameter.
129 (check_undeduced_parms): Use it.
132 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
135 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
136 (struct template_parm_index_s): Remove num_siblings.
137 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
138 (fixup_template_type_parm_type): Remove.
139 (build_template_parm_index): Remove num_siblings parm.
140 (process_template_parm): Likewise.
141 * parser.c (cp_parser_template_parameter_list): Adjust.
142 * tree.c (cp_tree_equal): Don't compare num_siblings.
143 * typeck.c (comp_template_parms_position): Likewise.
147 * tree.c (strip_typedefs_expr): New.
148 * cp-tree.h: Declare it.
149 * pt.c (convert_template_argument, unify): Use it.
150 * parser.c (cp_parser_template_declaration_after_export): Don't call
151 fixup_template_parms.
153 2012-11-29 Kai Tietz <ktietz@redhat.com>
156 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
157 (dump_vtable): Likewise.
159 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
162 * init.c (build_vec_init): Do not early return error_mark_mode
163 when integer_all_onesp (maxindex).
165 2012-11-05 Jakub Jelinek <jakub@redhat.com>
167 Backported from mainline
168 2012-10-23 Jakub Jelinek <jakub@redhat.com>
171 * decl2.c (cplus_decl_attributes): Don't return early
172 if attributes is NULL.
174 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
177 * init.c (build_new): Don't turn a null *init into a pointer to
178 empty vector orig_init.
180 2012-10-08 Jakub Jelinek <jakub@redhat.com>
183 * tree.c (cp_tree_equal): Handle FIELD_DECL.
185 2012-10-03 Jakub Jelinek <jakub@redhat.com>
188 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
189 not ignoring the second operand, pass the original second operand
190 and not one with stripped nops to cxx_eval_constant_expression.
192 2012-09-20 Release Manager
194 * GCC 4.7.2 released.
196 2012-09-14 Jason Merrill <jason@redhat.com>
199 * typeck2.c (check_narrowing): Avoid false positives on conversion
202 2012-09-13 Jason Merrill <jason@redhat.com>
205 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
206 address, make sure the value is constant.
208 2012-09-13 Jason Merrill <jason@redhat.com>
211 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
213 2012-09-13 Jason Merrill <jason@redhat.com>
216 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
219 2012-09-10 Jason Merrill <jason@redhat.com>
222 * decl.c (move_signature_fn_p): Split out from move_fn_p.
223 * method.c (process_subob_fn): Use it.
224 * cp-tree.h: Declare it.
228 * semantics.c (sort_constexpr_mem_initializers): New.
229 (build_constexpr_constructor_member_initializers): Use it.
230 (cx_check_missing_mem_inits): Skip artificial fields.
231 * init.c (expand_aggr_init_1): Don't zero out a class
235 * decl.c (grokdeclarator): Allow const and constexpr together.
237 2012-08-31 Ollie Wild <aaw@google.com>
240 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
242 2012-07-20 Jason Merrill <jason@redhat.com>
245 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
246 canonical array type rather than mess with its TYPE_*_VARIANT.
248 2012-07-19 Jason Merrill <jason@redhat.com>
251 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
253 2012-07-18 Jason Merrill <jason@redhat.com>
255 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
256 before trying to store through it.
258 2012-07-17 Jason Merrill <jason@redhat.com>
261 * decl.c (finish_enum_value_list): Only call
262 insert_late_enum_def_into_classtype_sorted_fields in class scope.
264 2012-07-17 Jason Merrill <jason@redhat.com>
267 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
268 to the list of variants.
270 2012-07-17 Jason Merrill <jason@redhat.com>
273 * parser.c (cp_parser_class_head): Call xref_basetypes here.
274 (cp_parser_class_specifier_1): Not here.
275 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
276 as well as DECL_DEPENDENT_P.
278 2012-07-13 Jason Merrill <jason@redhat.com>
281 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
283 2012-07-10 Jason Merrill <jason@redhat.com>
287 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
288 (struct lang_decl_fn): Add suppress_implicit_decl field.
289 * method.c (implicitly_declare_fn): Check it.
290 (process_subob_fn): Add no_implicit_p parm.
291 (walk_field_subobs, synthesized_method_walk): Likewise.
292 (maybe_explain_implicit_delete): Adjust.
293 (explain_implicit_non_constexpr): Adjust.
295 * method.c (synthesized_method_walk): Cleanups don't affect the EH
298 2012-07-02 Jason Merrill <jason@redhat.com>
301 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
302 (current_function_decl) instead of processing_template_decl.
305 * semantics.c (maybe_add_lambda_conv_op): Don't set
306 DECL_INTERFACE_KNOWN.
308 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
311 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
313 * class.c (insert_into_classtype_sorted_fields): New.
314 (add_enum_fields_to_record_type): New.
315 (count_fields): Adjust the comment.
316 (add_fields_to_record_type): Likewise.
317 (finish_struct_1): Move the code that inserts the fields for the
318 sorted case, into insert_into_classtype_sorted_fields, and call
320 (insert_late_enum_def_into_classtype_sorted_fields): Define.
321 * decl.c (finish_enum_value_list): Call
322 insert_late_enum_def_into_classtype_sorted_fields if a late enum
323 definition is encountered.
325 2012-06-25 Jason Merrill <jason@redhat.com>
329 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
332 * typeck.c (decay_conversion): Don't discard side-effects from
333 expressions of nullptr_t.
336 * semantics.c (build_data_member_initialization): Always keep
337 initializer for empty base.
338 (cxx_eval_bare_aggregate): Discard it here.
340 2012-06-25 Jakub Jelinek <jakub@redhat.com>
343 * class.c (check_bases_and_members): Avoid -Wuninitialized
344 diagnostics for non-static const members or references if they
347 2012-06-19 Jason Merrill <jason@redhat.com>
350 * name-lookup.c (constructor_name_p): Don't try to look at the
351 name of a DECLTYPE_TYPE.
355 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
356 (instantiate_decl): Don't push_to_top_level for local class methods.
357 (instantiate_class_template_1): Or for local classes.
360 * pt.c (lookup_template_class_1): Use ts_global.
362 2012-06-14 Richard Guenther <rguenther@suse.de>
364 Backport from mainline
365 2012-06-11 Richard Guenther <rguenther@suse.de>
368 * mangle.c (write_array_type): Use double-ints for array domain
371 2012-06-14 Richard Guenther <rguenther@suse.de>
373 Backport from mainline
374 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
377 * parser.c (cp_parser_alias_declaration): Return earlier
380 2012-06-14 Release Manager
382 * GCC 4.7.1 released.
384 2012-06-12 Jason Merrill <jason@redhat.com>
389 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
390 (instantiate_decl): Don't push_to_top_level for local class methods.
391 (instantiate_class_template_1): Or for local classes.
393 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
396 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
397 to control enumeral mismatch in conditional expression too.
399 2012-06-01 Jason Merrill <jason@redhat.com>
402 * parser.c (cp_parser_class_head): Apply attributes here.
403 * semantics.c (begin_class_definition): Not here.
407 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
408 tentatively and the LHS has a parse error.
410 2012-06-01 Jason Merrill <jason@redhat.com>
413 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
414 (instantiate_decl): Don't push_to_top_level for local class methods.
415 (instantiate_class_template_1): Or for local classes.
418 * pt.c (do_auto_deduction): Don't try to deduce from a
419 type-dependent initializer.
421 2012-05-31 Jason Merrill <jason@redhat.com>
425 * call.c (joust): Handle comparing list and non-list ctors.
427 2012-05-30 Jason Merrill <jason@redhat.com>
430 * tree.c (stabilize_init): Side effects make the init unstable.
432 2012-05-30 Jason Merrill <jason@redhat.com>
435 * call.c (convert_like_real) [ck_list]: Take array address directly.
436 * typeck.c (decay_conversion): Reject decay of an array compound
439 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
442 * tree.c (stabilize_expr): Handle exp of void type.
444 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
447 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
449 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
452 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
454 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
457 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
458 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
460 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
463 * call.c (build_over_call): Handle final member functions
465 (build_new_method_call_1): Do not handle here.
467 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
470 * parser.c (cp_parser_member_declaration): Check that
471 initializer_token_start is non null before dereferencing it.
473 2012-04-16 Jason Merrill <jason@redhat.com>
476 * pt.c (determine_specialization): Instead of comparing the number
477 of parms, check that tsubst gives the right answer.
480 * pt.c (convert_template_argument): Handle template template
484 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
487 2012-04-15 Jason Merrill <jason@redhat.com>
491 * pt.c (coerce_template_parms): Even if we aren't converting we
492 want to expand argument packs.
494 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
497 * parser.c (cp_parser_class_name): Call strip_using_decl and
498 return the target decl.
499 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
500 to be stripped is NULL_TREE.
501 (qualify_lookup): Call strip_using_decl and perform some checks on
504 2012-04-13 Jason Merrill <jason@redhat.com>
507 * pt.c (any_pack_expanson_args_p): New.
508 (coerce_template_parms): Use it.
510 2012-04-11 Jason Merrill <jason@redhat.com>
513 * decl.c (check_tag_decl): Don't complain about attributes if we
514 don't even have a type.
516 2012-04-05 Jason Merrill <jason@redhat.com>
519 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
522 2012-04-03 Jason Merrill <jason@redhat.com>
525 * pt.c (tsubst_initializer_list): A pack expansion with no elements
526 means value-initialization.
528 2012-03-29 Meador Inge <meadori@codesourcery.com>
531 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
532 stripped child trees that are not pointer types.
534 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
537 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
538 warn for a zero as null pointer constant default argument.
540 2012-03-29 Jason Merrill <jason@redhat.com>
543 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
545 2012-03-29 Jakub Jelinek <jakub@redhat.com>
548 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
549 if processing_template_decl.
551 2012-03-29 Jason Merrill <jason@redhat.com>
554 * call.c (compare_ics): Handle ck_aggr like ck_list.
556 2012-03-28 Jason Merrill <jason@redhat.com>
559 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
560 we didn't get an explicit scope.
561 * pt.c (tsubst_baselink): Likewise.
563 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
566 * class.c (check_field_decls): Call literal_type_p only
569 2012-03-22 Jakub Jelinek <jakub@redhat.com>
572 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
573 on CLASS_TYPE_P types.
575 2012-03-22 Jason Merrill <jason@redhat.com>
578 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
580 2012-03-22 Jakub Jelinek <jakub@redhat.com>
582 Backported from mainline
583 2012-03-14 Jakub Jelinek <jakub@redhat.com>
586 * parser.c (lookup_literal_operator): Return fn only if
587 processed all arguments from args vector and argtypes is
590 2012-03-22 Release Manager
592 * GCC 4.7.0 released.
594 2012-03-20 Jason Merrill <jason@redhat.com>
596 * mangle.c (write_type): Handle 'auto'.
597 * init.c (build_new): Don't do auto deduction where it might
598 affect template mangling.
600 2012-03-07 Jason Merrill <jason@redhat.com>
603 * mangle.c (write_literal_operator_name): The length comes after the
606 2012-02-29 Jason Merrill <jason@redhat.com>
609 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
610 (shadow_tag): From here.
611 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
613 2012-02-21 Jakub Jelinek <jakub@redhat.com>
616 * typeck.c (check_literal_operator_args): Initialize *long_double_p
617 and *long_long_unsigned_p even if processing_template_decl.
619 2012-02-16 Jason Merrill <jason@redhat.com>
622 * decl.c (define_label): Use timevar_cond_start/stop.
624 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
627 * decl.c (xref_basetypes): call dependent_scope_p instead of
630 2012-02-16 Jason Merrill <jason@redhat.com>
633 * error.c (dump_expr): Handle lambda closures specifically.
635 2012-02-14 Jason Merrill <jason@redhat.com>
637 * parser.c (cp_parser_explicit_instantiation): Give a warning
638 for ignored attributes on explicit class instantiation.
640 2012-02-14 Jakub Jelinek <jakub@redhat.com>
643 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
644 lookup_label on label's name and set TREE_USED.
646 2012-02-14 Jason Merrill <jason@redhat.com>
649 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
651 2012-02-14 Jakub Jelinek <jakub@redhat.com>
654 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
655 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
657 2012-02-07 Jason Merrill <jason@redhat.com>
660 * semantics.c (cx_check_missing_mem_inits): Handle unions.
661 Fix constexpr default constructor logic.
664 * pt.c (tsubst): Strip uninstantiated typedef.
666 2012-02-06 Jason Merrill <jason@redhat.com>
669 * cvt.c (build_expr_type_conversion): Check for template conversion.
671 2012-01-31 Jason Merrill <jason@redhat.com>
674 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
675 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
676 (tsubst_pack_expansion): Check it.
678 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
681 * class.c (explain_non_literal_class): Correctly handle implicitly
682 deleted constructors.
684 2012-01-27 Jakub Jelinek <jakub@redhat.com>
687 * pt.c (tsubst_pack_expansion): Delete and restore
688 local_specialization whenever need_local_specialization, not just
689 when saved_local_specializations is non-NULL.
691 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
694 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
695 as TREE_OPERAND (t, 1).
697 2012-01-24 Jason Merrill <jason@redhat.com>
700 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
703 * tree.c (called_fns_equal): Check template args.
704 (cp_tree_equal): Call it.
706 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
707 Patrick Marlier <patrick.marlier@gmail.com>
710 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
711 thunk for set_one_vmethod_tm_attributes.
713 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
716 * call.c (build_over_call): Check for error_mark_node as
717 TREE_VALUE when default arguments are processed.
719 2012-01-23 Jason Merrill <jason@redhat.com>
722 * decl2.c (determine_visibility): Check for visibility attribute
723 on template specialization.
725 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
728 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
730 2012-01-23 Jason Merrill <jason@redhat.com>
733 * class.c (add_method): Set OVL_USED for using-decls.
734 * tree.c (ovl_scope): New.
735 * cp-tree.h: Declare it.
736 * parser.c (cp_parser_template_name): Use it.
737 * semantics.c (baselink_for_fns): Likewise.
738 * name-lookup.c (set_inherited_value_binding_p): Likewise.
740 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
743 * pt.c (lookup_template_class_1): Check context returned by
744 tsubst for error_mark_node.
746 2012-01-19 Kai Tietz <ktietz@redhat.com>
749 * decl2.c (save_template_attributes): Use merge_attributes
750 instead of chaining up via TREE_CHAIN.
752 2012-01-19 Jason Merrill <jason@redhat.com>
755 * class.c (finish_struct): Call add_method here for function usings.
756 * semantics.c (finish_member_declaration): Not here.
758 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
761 * typeck2.c (store_init_value): Within a template guard
762 cxx_constant_value with require_potential_constant_expression.
763 * pt.c (convert_nontype_argument): Likewise.
765 2012-01-16 Jakub Jelinek <jakub@redhat.com>
768 * mangle.c (write_template_arg_literal): Handle complex.
770 2012-01-16 Jason Merrill <jason@redhat.com>
773 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
776 * typeck.c (build_static_cast_1): Handle bit-fields properly.
778 2012-01-13 Ian Lance Taylor <iant@google.com>
781 * typeck.c (enum_cast_to_int): New static function.
782 (cp_build_binary_op): When handling warn_sign_compare, don't test
783 for TREE_NO_WARNING. Do call enum_cast_to_int.
784 * call.c (avoid_sign_compare_warnings): Remove static function.
785 (build_new_op_1): Don't call avoid_sign_compare_warnings.
787 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
789 * decl2.c: Do not include tree-mudflap.h
790 * semantics.c: Likewise.
792 2012-01-13 Jason Merrill <jason@redhat.com>
795 * semantics.c (finish_break_stmt): Avoid adding an unreachable
799 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
800 when reducing the visibility.
803 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
805 2012-01-12 Jason Merrill <jason@redhat.com>
808 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
811 2012-01-13 Dodji Seketeli <dodji@redhat.com>
814 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
815 Set the pointer to the last block of the constructor to the
817 (build_constexpr_constructor_member_initializers): Get
818 build_data_member_initialization a chance to deal with more
819 statements before we choke.
821 2012-01-12 Jason Merrill <jason@redhat.com>
824 * mangle.c (write_expression): Mangle BASELINK scope if
825 BASELINK_QUALIFIED_P.
826 * search.c (adjust_result_of_qualified_name_lookup): Set
827 BASELINK_QUALIFIED_P.
828 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
829 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
830 adjust_result_of_qualified_name_lookup for non-qualified names.
833 * pt.c (unify): Handle error_mark_node.
835 2012-01-11 Jason Merrill <jason@redhat.com>
838 * call.c (standard_conversion): For ptrmemfuncs, compare the
842 * mangle.c (find_substitution): A type is only a substitution
843 match if we're looking for a type.
844 (write_nested_name): Use decl_mangling_context.
846 * decl.c (decls_match): Assert that the arguments are decls.
849 * pt.c (resolve_overloaded_unification): Compare types with
850 same_type_p, not decls_match.
852 2012-01-10 Jason Merrill <jason@redhat.com>
855 * class.c (build_base_path): Diagnose ambiguous base.
858 * semantics.c (cxx_eval_call_expression): Always retry previously
859 non-constant expressions.
861 2012-01-06 Jason Merrill <jason@redhat.com>
865 * parser.c (cp_parser_new_expression): Set
866 type_definition_forbidden_message.
872 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
873 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
875 (write_template_arg): Fix mangling of class-scope functions and
877 (mangle_decl): Update suggested -fabi-version argument.
878 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
879 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
880 * tree.c (dependent_name): No longer static.
881 * cp-tree.h: Declare it.
882 * pt.c (unify): Defer handling of unconverted functions.
884 * mangle.c (mangle_decl): Don't generate mangling aliases
885 for maybe-in-charge [cd]tors.
887 * error.c (dump_expr): Print type of CONSTRUCTOR.
889 2012-01-05 Dodji Seketeli <dodji@redhat.com>
892 * parser.c (cp_parser_alias_declaration): Get out early upon
893 errors in the identifier or the attributes.
895 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
898 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
899 the tree returned by build_x_binary_op.
901 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
904 * parser.c (cp_parser_postfix_open_square_expression): Handle
905 postfix-expression [ braced-init-list ].
907 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
910 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
911 call decay_conversion on v.
913 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
916 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
917 declaration followed by specialization.
919 2012-01-03 Jakub Jelinek <jakub@redhat.com>
922 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
923 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
925 2012-01-02 Jason Merrill <jason@redhat.com>
929 * method.c (walk_field_subobs): Don't check for uninitialized
931 (synthesized_method_walk): Check here.
935 * parser.c (cp_parser_cache_defarg): Split out...
936 (cp_parser_parameter_declaration): ...from here.
937 (cp_parser_save_nsdmi): Use it.
938 (cp_parser_cache_group): Remove CPP_COMMA support.
940 2012-01-02 Dodji Seketeli <dodji@redhat.com>
943 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
946 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
949 * typeck2.c (digest_init_r): Use copy_init when initializing
952 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
955 * decl.c (build_enumerator): Don't call perform_integral_promotions
958 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
961 * typeck.c (build_reinterpret_cast_1): Implement resolution of
964 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
966 * parser.c (cp_parser_using_declaration): Add a warning about
967 deprecated access declarations when no errors were encountered
968 while parsing the access declaration. Save the first token in
969 order to emit the warning at the right place.
971 Copyright (C) 2012 Free Software Foundation, Inc.
973 Copying and distribution of this file, with or without modification,
974 are permitted in any medium without royalty provided the copyright
975 notice and this notice are preserved.