X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=sidebyside;f=gcc%2Fcp%2FChangeLog;h=e609de4215dac19d24b11c85859a075fa34d0391;hb=a9dec759016913ed155ca6ec1f5d6070f261f70f;hp=7d3e339c63a72048067785a4f2a81e45f8bee61b;hpb=2d7085a5deeb287fd0313c4e10a1cff9e338ada1;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7d3e339c63a..e609de4215d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,262 @@ +2008-02-06 Alexandre Oliva + + PR c++/35056 + * tree.c: Include tree-flow.h. + (build_target_expr): Check type compatibility. + * Make-lang.in (cp/tree.o): Depend on $(TREE_FLOW_H). + * call.c (convert_like_real): Convert bitfield to expected type. + +2008-02-06 Douglas Gregor + + PR c++/35049 + PR c++/35096 + * typeck.c (structural_comptypes): Call cp_comptypes. + (comptypes): New; called from the C/C++ common bits to perform + strict checks. + (cp_comptypes): Renamed from comptypes, which is already used, + with a different signature, by the C++ front end. + (build_reinterpret_cast_1): Call cp_comptypes. + (ptr_reasonably_similar): Ditto. + * decl.c (decls_match): Ditto. + * cvt.c (convert_to_reference): Ditto. + * cp-tree.h (same_type_p): Ditto. + (same_or_base_type_p): Ditto. + (comptypes): Rename to cp_comptypes. + * pt.c (canonical_type_parameter): Call cp_comptypes. + +2008-02-05 Jakub Jelinek + + PR c++/33553 + * pt.c (tsubst) : Don't issue error if max is + value dependent expression. + +2008-02-05 Douglas Gregor + + PR c++/35074 + * decl2.c (save_template_attributes): When we're modifying the + TYPE_MAIN_VARIANT to add new attributes, be sure to also modify + all of the other variants to add those same attributes. Otherwise, + the main variant will be inconsistent with those other variants. + +2008-02-04 Richard Guenther + + PR java/35035 + * decl.c (record_builtin_java_type): Make jboolean a + integer type again where its mode doesn't match that of bool. + +2008-02-02 Jason Merrill + Mark Mitchell + + PR c++/33916 + * init.c (build_value_init_1): New function. + (build_value_init): New function. + * typeck2.c (build_functional_cast): Call it. + * cp-gimplify.c (cp_gimplify_init_expr): Handle its output. + + * cp-tree.h (TYPE_HAS_USER_CONSTRUCTOR): Rename from + TYPE_HAS_CONSTRUCTOR. + * class.c (finish_struct_bits, maybe_warn_about_overly_private_class, + add_implicitly_declared_members): Adjust. + (check_field_decls): Adjust. Remove warnings about reference/const + in class without constructor. + (check_bases_and_members): Adjust. Give those warnings here instead. + * decl.c (fixup_anonymous_aggr): Adjust. + (check_initializer): Adjust, clarify logic slightly. + (grok_special_member_properties): Adjust, only set if user-provided. + * rtti.c (create_tinfo_types): Don't set. + * cvt.c (ocp_convert): Remove exception for vtable_entry_type et al. + Use same_type_ignoring_top_level_qualifiers_p. + * pt.c (check_explicit_specialization): Adjust. + (instantiate_class_template): Adjust. + +2008-01-31 Douglas Gregor + Jakub Jelinek + + PR c++/34935 + PR c++/34936 + * typeck.c (structural_comptypes): Handle comparisons of + VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, FIXED_POINT_TYPE, and + REAL_TYPE nodes. + * mangle.c (write_builtin_type): Map down to the canonical type, + which will be one of the predefined type nodes. + +2008-01-29 Michael Meissner + + PR 35004 + * cp-tree.h (struct full_lang_decl): Make tree_code bitfield 16 + bits to allow for expansion of the number of middle end tree + codes. + +2008-01-29 Douglas Gregor + + PR c++/34055 + PR c++/34103 + PR c++/34219 + PR c++/34606 + PR c++/34753 + PR c++/34754 + PR c++/34755 + PR c++/34919 + PR c++/34961 + * typeck.c (check_return_expr): Tweak call to + check_for_bare_parameter_packs. + * class.c (add_method): Be careful with error_mark_nodes. + * cp-tree.h (check_for_bare_parameter_packs): Remove "*" from + signature. + * pt.c (struct find_parameter_pack_data): Remove + SET_PACKS_TO_ERROR. + (find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR. + (uses_parameter_packs): Don't set SET_PACKS_TO_ERROR. + (make_pack_expansion): Ditto. + (check_for_bare_parameter_packs): Parameter is now a tree, not a + tree*. + (process_template_parm): Tweak call to + check_for_bare_parameter_packs. + (push_template_decl_real): Tweak calls to + check_for_bare_parameter_packs. If bare parameter packs are found + in the list of exceptions, clear out that list after giving an + error. + * semantics.c (finish_cond): Tweak call to + check_for_bare_parameter_packs. + (finish_expr_stmt): Ditto. + (finish_for_expr): Ditto. + (finish_switch_cond): Ditto. + (finish_mem_initializers): Ditto. + (finish_member_declaration): Ditto. + (finish_static_assert): Check for bare parameter packs in the + condition. + * decl2.c (cplus_decl_attributes): Check for bare parameter packs in the + attributes of a declaration. + * parser.c (cp_parser_using_declaration): Tweak call to + check_for_bare_parameter_packs. + (cp_parser_base_clause): Ditto. + +2008-01-28 Jason Merrill + + PR c++/35007 + * class.c (build_base_path): Fix !want_pointer case. + +2008-01-27 Jason Merrill + + PR c++/27177 + * class.c (build_base_path): Fix previous change. + +2008-01-26 Jakub Jelinek + + PR c++/34965 + * error.c (dump_expr): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR + and TRUTH_XOR_EXPR. + +2008-01-26 Richard Guenther + + PR c++/34235 + * typeck.c (build_binary_op): Remove code to shorten compares. + +2008-01-25 Richard Guenther + + PR c++/33887 + * decl.c (record_builtin_java_type): Make __java_boolean + a variant of bool. + * typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check + after TYPE_MAIN_VARIANT check. + +2008-01-25 Jason Merrill + + PR c++/27177 + * class.c (build_base_path): Don't mess with virtual access if + skip_evaluation. + * call.c (standard_conversion): Don't check whether source type + is complete. + + * decl2.c (is_late_template_attribute): Don't defer attribute + visibility just because the type is dependent. + +2008-01-25 Jason Merrill + Mark Mitchell + + PR c++/31780 + * call.c (standard_conversion): Allow conversion from integer/real + to complex. + (compare_ics): Such a conversion is worse than a normal arithmetic + conversion. + +2008-01-25 Richard Guenther + + PR c++/33887 + * cp-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define + to true. + +2008-01-24 Paolo Carlini + + PR c++/34603 + * pt.c (push_template_decl_real): Return error_mark_node in case + of template definition of non-template. + +2008-01-24 Jason Merrill + + PR c++/34913 + * decl2.c (is_late_template_attribute): Defer any attribute with + dependent args. Also defer type attributes if the type is dependent. + +2008-01-22 Jakub Jelinek + Alexandre Oliva + + PR c++/33984 + * call.c (reference_binding): For bitfields use the declared bitfield + type. + (add_builtin_candidates): Likewise. + * class.c (layout_class_type): For bitfields copy over the + original type quals. + +2008-01-22 Jason Merrill + + PR c++/28560 + * decl.c (groktypename): Also ignore attributes on dependent + possibly-class types. + + PR c++/34912 + * friend.c (do_friend): Check for prior declaration of a friend + function of a local class. + * name-lookup.c (lookup_name_innermost_nonclass_level): + No longer static. + * name-lookup.h: Declare it. + +2008-01-22 Tom Tromey + + PR c++/34829: + * init.c (build_new_1): Only disallow Java aggregates. + +2008-01-22 Jakub Jelinek + + PR c++/34607 + * semantics.c (finish_omp_for): Don't call c_finish_omp_for + if decl or init is error_mark_node. + + PR c++/34918 + * error.c (dump_expr): Handle VECTOR_CST. + +2008-01-21 Jason Merrill + + PR c++/33959 + * pt.c (tsubst_aggr_type): Make sure our context is complete. + + PR c++/34573 + * pt.c (retrieve_local_specialization): Robustify. + (tsubst_pack_expansion, tsubst_decl): Remove redundant checks. + + PR c++/34846 + * pt.c (tsubst): Only call retrieve_local_specialization if the + original typedef was in a function template. + + PR c++/34196 + * decl.c (wrap_cleanups_r): Set TRY_CATCH_IS_CLEANUP. + +2008-01-21 Richard Guenther + + PR c++/34850 + * error.c (cp_print_error_function): Deal with recursive + BLOCK trees. + 2008-01-20 Paolo Carlini PR c++/34891