X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=d62d29df51b349105050cf6813d11831cabc6d91;hb=279f8b4996961cf389829691224f23977841d08a;hp=b5229b3814df68bc48a535e2fe2758ea6a60bcce;hpb=e4ef06d071a62aedafa371163cf3b52d6b2b9010;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b5229b3814d..d62d29df51b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,698 @@ +2007-11-07 Jakub Jelinek + + PR c++/33501 + * call.c (build_over_call): Don't check TREE_ADDRESSABLE + on incomplete type. + +2007-11-06 Douglas Gregor + + PR c++/33977 + PR c++/33886 + * tree.c (c_build_qualified_type): Define bridge to + cp_build_qualified_type. + +2007-11-06 Douglas Gregor + + PR c++/31439 + PR c++/32114 + PR c++/32115 + PR c++/32125 + PR c++/32126 + PR c++/32127 + PR c++/32128 + PR c++/32253 + PR c++/32566 + * typeck.c (check_return_expr): Pass address of retval to + check_for_bare_parameter_packs. + * class.c (build_base_field): Tolerate bases that have no layout + due to errors. + (end_of_base): Ditto. + * tree.c (canonical_type_variant): Be careful with + ERROR_MARK_NODE. + * cp-tree.h (check_for_bare_parameter_packs): Now accepts a + tree*. + * pt.c (find_parameter_pack_data): Add set_packs_to_error field, + which states whether parameter packs should be replaced with + ERROR_MARK_NODE. + (find_parameter_packs_r): Pass addresses to cp_walk_tree wherever + possible. If set_packs_to_error is set true, replace the parameter + pack with ERROR_MARK_NODE. Manage our own pointer sets. + (uses_parameter_packs): Don't set parameter packs to + ERROR_MARK_NODE. + (check_for_bare_parameter_packs): Now takes a pointer to a tree, + which may be modified (if it is a parameter pack). Instructs + find_parameter_packs_r to replace parameter packs with + ERROR_MARK_NODE (so that they won't cause errors later on). + (process_template_parm): Pass pointer to + check_for_bare_parameter_packs. + (process_partial_specialization): Replace pack expansions before + the end of the template argument list with ERROR_MARK_NODE. + (push_template_decl_real): Pass pointer to + check_for_bare_parameter_packs. Replace parameter packs not at the + end of the template parameter list with ERROR_MARK_NODE. + (convert_template_argument): Be more careful about using DECL_NAME + on only declarations. + (unify): Can't unify against ERROR_MARK_NODE. + * semantics.c (finish_cond): Pass pointer to + check_for_bare_parameter_packs. + (finish_expr_stmt): Ditto. + (finish_for_expr): Ditto. + (finish_switch_cond): Pass pointer to + check_for_bare_parameter_packs, and call it before we put the + condition into the statement. + (finish_mem_initializers): Pass pointer to + check_for_bare_parameter_packs. + (finish_member_declaration): Ditto. + * parser.c (cp_parser_base_clause): Ditto. + +2007-11-06 Jakub Jelinek + + PR target/33168 + * decl.c (cp_finish_decl): Call make_rtl_for_nonlocal_decl already + with the final TREE_READONLY flag in place. processing_template_decl + is known to be 0 in this part of function. + + PR c++/33894 + * cp-tree.h: Update comment - TYPE_LANG_FLAG_0 is not + OMP_ATOMIC_DEPENDENT_P in OMP_ATOMIC. + * pt.c (tsubst_expr): Assert OMP_ATOMIC_DEPENDENT_P. + * semantics.c (finish_omp_atomic): Revert most of the + 2007-02-05 changes, just keep the new representation of + OMP_ATOMIC_DEPENDENT_P OMP_ATOMIC. + +2007-11-05 H.J. Lu + + PR c++/33871 + * decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked + local. + +2007-11-05 Douglas Gregor + + PR c++/33996 + PR c++/33235 + PR c++/33930 + * typeck.c (merge_types): Don't lose rvalue references when + merging types. + * call.c (build_over_call): Don't elide move constructors just + because the copy constructor is trivial (!). + (compare_ics): If comparing cv-qualifiers fails, we can still order + based on binding lvalues vs. rvalues. + +2007-11-05 Douglas Gregor + + PR c++/33939 + * pt.c (unify_pack_expansion): bring handling of function call + arguments into line with type_unification_real. + +2007-11-05 Manuel Lopez-Ibanez + + * typeck.c (build_binary_op): Use pedwarn instead of error for + consistency. + +2007-11-05 Jakub Jelinek + + PR c++/33836 + * parser.c (cp_parser_unary_expression): For &&label call + cp_parser_non_integral_constant_expression and return error_mark_node + if it returned true. + + PR c++/33969 + * decl.c (grokdeclarator): Don't call build_memfn_type if type + is neither FUNCTION_TYPE nor METHOD_TYPE. + +2007-11-02 Jakub Jelinek + + PR c++/33516 + * parser.c (cp_parser_nested_name_specifier_opt): Use + TYPE_MAIN_VARIANT (new_scope) as scope if new_scope is an incomplete + typedef of currently open class. + +2007-11-02 Paolo Carlini + + PR c++/33495 + * error.c (dump_expr): Deal specially with statements. + +2007-11-01 Jason Merrill + + PR c++/30897 + * pt.c (push_template_decl_real): Set DECL_CONTEXT on template + template parms. + (lookup_template_class): Use it to get the outer template args + for instantiating one. + + PR c++/29236 + * pt.c (reduce_template_parm_level): tsubst the parameters + of a template template parm. + +2007-11-01 Douglas Gregor + + PR c++/33955 + * pt.c (find_parameter_packs_r): Handle TYPENAME_TYPE. + +2007-11-01 Jakub Jelinek + + PR c++/32384 + * parser.c (cp_parser_postfix_dot_deref_expression): If + POSTFIX_EXPRESSION is type dependent, try to parse it as pseudo dtor + first and if that succeeds and type is SCALAR_TYPE_P, create + PSEUDO_DTOR_EXPR. + + PR c++/32260 + * rtti.c (enum_tinfo_kind): Fix TK_TYPE_INFO_TYPE comment. + (typeid_ok_p): Use the same alias set for abi::__type_info_pseudo + as for std::type_info. + +2007-10-31 Paolo Carlini + + PR c++/33494 + * cxx-pretty-print.c (pp_cxx_typeid_expression, + pp_cxx_delete_expression): Change to static linkage. + * cxx-pretty-print.h: Adjust declarations. + * error.c (dump_expr, case EXPR_PACK_EXPANSION, TYPEID_EXPR, + MEMBER_REF, DOTSTAR_EXPR, DELETE_EXPR, VEC_DELETE_EXPR, + MODOP_EXPR): Forward to pp_expression. + + * cxx-pretty-print.c (pp_cxx_expression, case NON_DEPENDENT_EXPR): + Fix typo. + +2007-10-31 Christian Bruel + Mark Mitchell + + PR c++/19531 + * typeck.c (check_return_expr): Don't set named_return_value_okay_p + if retval is volatile. + +2007-10-30 Jakub Jelinek + + PR c++/33616 + * decl2.c (build_offset_ref_call_from_tree): Call + build_non_dependent_expr on object prior to building ADDR_EXPR from it + if FN is DOTSTAR_EXPR. + +2007-10-30 Douglas Gregor + + PR c++/31993 + PR c++/32252 + * pt.c (find_parameter_packs_r): Fix typo in comment. + (convert_template_argument): Look at the pattern of a pack + expansion to determine what kind of entity we're converting. + (coerce_template_parameter_pack): When we have coerced a non-type + template parameter pack, substitute into the type of that pack. + (tsubst_pack_expansion): When our substitution of a parameter pack + is a "trivial" substitution of itself, just substitute into the + pack expansion rather than actually expanding. + +2007-10-29 Jakub Jelinek + + PR c++/33841 + * class.c (check_bitfield_decl): Don't set field's type to error_mark_node + for non-integral type bitfields. Return true if bitfield is correct, false + error has been diagnosed. + (check_field_decls): If check_bitfield_decl returned false, call also + check_field_decl. + +2007-10-28 Paolo Carlini + Mark Mitchell + + PR c++/30659 + * pt.c (do_decl_instantiation): If the VAR_DECL is not a + class member error out and return. + +2007-10-27 Jakub Jelinek + + * error.c (reinit_cxx_pp): Initialize cxx_pp->enclosing_scope + to current_function_decl rather than 0. + + PR c++/33844 + * cxx-pretty-print.c (pp_cxx_pm_expression) : Print + ->* rather than .*. + * error.c (dump_expr): Handle MEMBER_REF and DOTSTAR_EXPR. + +2007-10-27 Jason Merrill + + PR c++/5247 + * call.c (convert_default_arg): Detect recursion. + +2007-10-27 Jakub Jelinek + + PR c++/33842 + * cxx-pretty-print.h (pp_cxx_offsetof_expression): New prototype. + * cxx-pretty-print.c (pp_cxx_primary_expression): Handle + OFFSETOF_EXPR. + (pp_cxx_offsetof_expression_1, pp_cxx_offsetof_expression): New + functions. + * error.c (dump_expr): Handle OFFSETOF_EXPR. + +2007-10-26 Jason Merrill + + PR c++/24791 + * pt.c (get_template_info): New fn. + (template_class_depth): Use it. + (push_template_decl_real): Check that the template args of the + definition match the args of the previous declaration. + +2007-10-26 Paolo Carlini + + PR c++/31988 + * decl2.c (coerce_new_type): Do not allow a default argument for + the first parameter. + +2007-10-26 Douglas Gregor + + PR c++/33839 + * parser.c (cp_parser_decltype): Return ERROR_MARK_NODE if we + don't see the leading '('. Only lookup names if we get an + IDENTIFIER_NODE. + +2007-10-26 Jakub Jelinek + + PR c++/33744 + * parser.c (cp_parser_parenthesized_expression_list): Set + greater_than_is_operator_p to true in between the parens. + +2007-10-26 Paolo Carlini + + PR c++/31747 + * decl.c (grokdeclarator): In case of conflicting specifiers + just return error_mark_node. + +2007-10-26 Ollie Wild + + * expr.c (cxx_expand_expr): Removed. + * cp-tree.h (exx_expand_expr): Removed. + * cp-objcp-common.h (LANK_HOOKS_EXPAND_EXPR): Replace cxx_expand_expr + with c_expand_expr. + +2007-10-25 Paolo Carlini + + PR c++/33843 + * cxx-pretty-print.c (pp_cxx_unqualified_id): Deal with BIT_NOT_EXPR. + +2007-10-23 Jason Merrill + + PR c++/25950 (DR 391) + * call.c (struct conversion): Remove check_copy_constructor_p. + (reference_binding): Always bind a reference directly to a + compatible class rvalue. Pass down LOOKUP_NO_TEMP_BIND during + temporary creation. + (check_constructor_callable): Remove. + (convert_like_real): Don't call it. + (initialize_reference): Don't call check_constructor_callable. + (standard_conversion): Check LOOKUP_NO_CONVERSION instead of + LOOKUP_CONSTRUCTOR_CALLABLE. Don't require a temporary for base + conversions if LOOKUP_NO_TEMP_BIND. + (implicit_conversion): Pass through LOOKUP_NO_TEMP_BIND. + (build_user_type_conversion_1): Pass through LOOKUP_NO_TEMP_BIND for + second conversion. + * cp-tree.h (LOOKUP_CONSTRUCTOR_CALLABLE): Remove. + +2007-10-22 Jakub Jelinek + + PR c++/33372 + * semantics.c (finish_omp_clauses): Check !type_dependent_expression_p + before checking if its type is integral. + +2007-10-22 Jason Merrill + + PR c++/33620 + * class.c (finish_struct_bits): Copy TYPE_ATTRIBUTES. + * pt.c (apply_late_template_attributes): Splice out dependent + attributes from DECL_ATTRIBUTES. + + * decl.c (cxx_maybe_build_cleanup): Use build_address. + +2007-10-17 Manuel Lopez-Ibanez + + * typeck.c (build_binary_op) : Use appropriate warning option + instead of unnamed warning. + +2007-10-16 Paolo Carlini + + PR c++/31446 + * pt.c (current_template_args): Do not change TREE_LIST elements + with a TREE_VALUE of error_mark_node. + +2007-10-16 Mark Mitchell + + * typeck.c (cp_apply_type_quals_to_decl): Expand documentation. + * decl.c (start_decl): Tidy. + (start_decl_1): Call cp_apply_type_quals_to_decl after completing + the type. + (grokdeclarator): Clarify comment. + +2007-10-14 Andrew Pinski + + PR c++/30303 + * decl.c (grokfndecl): Return NULL after the "definition of + implicitly-declared" error happened. + +2007-10-12 Simon Martin + + PR c++/26698 + * call.c (build_user_type_conversion_1): Do not consider conversion + functions to convert a (possibly cv-qualified) object to the (possibly + cv-qualified) same object type (or a reference to it), to a (possibly + cv-qualified) base class of that type (or a reference to it). + +2007-10-12 Paolo Carlini + + * pt.c (tsubst): Use template_parm_level_and_index. + +2007-10-12 Jakub Jelinek + + PR c++/32121 + * parser.c (cp_parser_compound_statement): Handle label-declarations + at the beginning of the compound statement. + (cp_parser_block_declaration): Issue diagnostics about __label__ + not at the beginning of a block. + +2007-10-11 Paolo Carlini + + PR c++/33461 + * pt.c (coerce_template_parameter_pack): Do not pass error_mark_node + to convert_template_argument. + (coerce_template_parms): Return error_mark_node after fixed-length + error. + (tsubst_decl): Check for error_mark_node the return value of the + first tsubst in 'case VAR_DECL'. + +2007-10-08 Ollie Wild + + * typeck2.c (digest_init): Call cplus_expand_constant after + convert_for_initialization. + * cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed. + * expr.c (cplus_expand_constant): Updated function description. + +2007-10-04 Jason Merrill + + PR c++/20416 + * call.c (initialize_reference): Handle local static reference + temps properly. + +2007-10-03 Jason Merrill + + PR c++/32470 + * name-lookup.c (push_namespace_with_attrs): Fold back into... + (push_namespace): Here. + (handle_namespace_attrs): New fn for the attr code. + (leave_scope): Don't pop_visibility. + * name-lookup.h (struct cp_binding_level): Remove has_visibility. + * parser.c (cp_parser_namespace_definition): Call + handle_namespace_attrs and pop_visibility as appropriate. + + PR c++/11756 + * mangle.c (write_type) [TYPEOF_TYPE]: Just sorry. + +2007-10-03 Alexandre Oliva + + * decl.c (duplicate_decls): Preserve linkage flags for mere + redeclarations of gnu_inline definitions. + +2007-10-03 Jason Merrill + + PR c++/15764 + * decl.c (wrap_cleanups_r): New fn. + (wrap_temporary_cleanups): New fn. + (initialize_local_var): Call it. + +2007-09-29 Jason Merrill + + PR c++/33094 + * decl.c (make_rtl_for_nonlocal_decl): It's ok for a member + constant to not have DECL_EXTERNAL if it's file-local. + +2007-09-28 Ollie Wild + + Revert + 2007-09-27 Ollie Wild + + * typeck2.c (digest_init): Call cplus_expand_constant after + convert_for_initialization. + * cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed. + * expr.c (cplus_expand_constant): Updated function description. + +2007-09-28 Jason Merrill + + PR c++/10179 + * class.c (layout_empty_base): Take rli parameter, update + rli->record_align if empty base has user-specified alignment. + (build_base_field): Pass rli to it. + +2007-09-28 Paolo Carlini + + PR c++/33213 + * error.c (dump_decl): Deal with TYPE_PACK_EXPANSION. + +2007-09-28 Paolo Carlini + + PR c++/33118 + * error.c (dump_expr): Deal with ARGUMENT_PACK_SELECT. + (dump_type): Use dump_template_argument for TYPE_ARGUMENT_PACK. + (dump_parameters): Just call dump_type for argument packs too. + +2007-09-28 Jakub Jelinek + + PR c++/31434 + * tree.c (cp_build_qualified_type_real): Handle TYPE_PACK_EXPANSION + qualification by creating qualified PACK_EXPANSION_PATTERN and + then calling make_pack_expansion on it. + +2007-09-27 Ollie Wild + + * typeck2.c (digest_init): Call cplus_expand_constant after + convert_for_initialization. + * cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed. + * expr.c (cplus_expand_constant): Updated function description. + +2007-09-27 Jason Merrill + + PR c++/33571 + * decl2.c (is_late_template_attribute): Don't crash on unknown + attribute. + +2007-09-27 Paolo Carlini + + PR c++/33493 + * error.c (dump_expr): Deal with DELETE_EXPR and VEC_DELETE_EXPR. + * cxx-pretty-print.c (pp_cxx_delete_expression): Add missing + spaces in the formatting. + * cxx-pretty-print.h (pp_cxx_delete_expression): Declare. + +2007-09-27 Jakub Jelinek + + * error.c (cxx_print_error_function): Add third argument, pass + it over to lhd_print_error_function. + (cp_print_error_function): If diagnostic->abstract_origin, print + virtual backtrace. + * cp-tree.h (struct diagnostic_info): New forward decl. + (cxx_print_error_function): Add third argument. + +2007-09-25 Simon Martin + + PR c++/33207 + * name-lookup.c (pushtag): Do not create an implicit typedef before + the associated type declaration is known to be valid. + +2007-09-25 Jakub Jelinek + + * tree.c (cxx_printable_name): Compare FUNCTION_DECL uids + rather than pointers. + +2007-09-24 Danny Smith + + PR c++/14688 + * search.c (check_final_overrider): Fail if + targetm.comp_type_attributes returns 0. + +2007-09-24 Jason Merrill + + PR c++/33239 + * pt.c (resolve_typename_type): Don't look things up in the original + template if it would mean losing template arguments. + +2007-09-24 Jakub Jelinek + + PR c++/33506 + * cp-tree.h (cxx_type_hash_eq): New prototype. + * cp-objcp-common.h (LANG_HOOKS_TYPE_HASH_EQ): Redefine. + * tree.c (cxx_type_hash_eq): New function. + +2007-09-24 Douglas Gregor + + PR c++/33185 + * tree.c (cp_build_qualified_type_real): Build a canonical + ARRAY_TYPE if the original ARRAY_TYPE was not a canonical type. + +2007-09-24 Douglas Gregor + + PR c++/33112 + PR c++/33185 + * tree.c (cplus_array_compare): Compare pointers, not types. + (build_cplus_array_type_1): Store new array type into the hash + table before building the canonical type; build the canonical type + correctly. + (cp_build_qualified_type_real): Put all of the array types with + cv-qualified element types into the C++ array hash table, built as + variants of the unqualified versions. + +2007-09-23 Jason Merrill + + PR c++/16370 + * decl.c (grokdeclarator): Look through implicit TYPE_DECLs + for deprecation warnings. + +2007-09-22 Jason Merrill + + PR c++/15269 + * call.c (build_over_call): Warn about deprecated virtuals. + + PR c++/19407 + * cp-tree.h (ATTR_IS_DEPENDENT): New macro. + (MAYBE_TAGGED_TYPE_P): Remove. + * pt.c (apply_late_template_attributes): Check ATTR_IS_DEPENDENT + instead of calling is_late_template_attribute again. + (tsubst_decl) [TYPE_DECL]: Just check if the name is the tag. + (tsubst): A typedef is a TYPE_NAME != TYPE_MAIN_DECL. + Don't crash on typedefs from non-template classes. + * decl2.c (grokfield): Don't sorry about attrs on template parms. + (is_late_template_attribute): All attributes applied to template + parms or typename types are dependent. Static. + (splice_template_attributes): Pass decl through. + (save_template_attributes): Likewise. + +2007-09-20 Jakub Jelinek + + PR c++/33496 + * pt.c (tsubst_copy) : Handle error_mark_node + returned from tsubst_pack_expansion. + (tsubst_copy_and_build) : Likewise. + (tsubst_copy_and_build) : Likewise. + +2007-09-20 Paolo Carlini + + PR c++/33460 + * semantics.c (finish_id_expression): Use consistently + context_for_name_lookup. + * decl.c (fixup_anonymous_aggr): Fix error message for + anonymous struct (vs union). + +2007-09-19 Jason Merrill + + PR c++/7586 + * pt.c (tsubst): Handle typedefs by looking for the specialization. + (retrieve_specialization): Only tagged types use + DECL_TEMPLATE_INSTANTIATIONS. + (instantiate_class_template): Push nested classes too. + (tsubst_decl) [TYPE_DECL]: Only check for canonical decl for + tagged types. + * cp-tree.h (MAYBE_TAGGED_TYPE_P): New macro. + * init.c (is_aggr_type): Remove redundant tests. + * class.c (push_nested_class): Use CLASS_TYPE_P. + +2007-09-20 Paolo Carlini + + PR c++/33459 + * init.c (build_zero_init): If, recursively, build_zero_init + returns a NULL_TREE, do not append it to the VEC of constructors. + +2007-09-18 Jason Merrill + + PR c++/17743 + * pt.c (apply_late_template_attributes): Set processing_template_decl. + (tsubst_decl) [TYPE_DECL]: Preserve naming typedef, pass + ATTR_FLAG_TYPE_IN_PLACE. + (tsubst): Do unqualified lookup to find typedefs from current class. + [ARRAY_TYPE]: Propagate alignment info. + * decl2.c (is_late_template_attribute): Only defer handling of + attribute aligned if the expression is dependent. + (save_template_attributes): If we're deferring any attributes, + make this a naming typedef. + +2007-09-18 Paolo Carlini + + PR c++/33462 (again) + * cxx-pretty-print.c (pp_cxx_va_arg_expression): Print + va_arg instead of __builtin_va_arg. + +2007-09-18 Paolo Carlini + + PR c++/33462 + * cxx-pretty-print.c (pp_cxx_va_arg_expression): Add. + (pp_cxx_primary_expression): Use it. + * cxx-pretty-print.h (pp_cxx_va_arg_expression): Declare. + * error.c (dump_expr): Use it. + +2007-09-18 Paolo Carlini + + PR c++/33463 + * cxx-pretty-print.c (pp_cxx_postfix_expression): Split + out case TYPEID_EXPR to... + (pp_cxx_typeid_expression): ... here; use pp_cxx_left_paren + and pp_cxx_right_paren. + * cxx-pretty-print.h (pp_cxx_typeid_expression): Declare. + * error.c (dump_expr): Use it. + +2007-09-18 Paolo Carlini + + PR c++/33464 + * cxx-pretty-print.c (pp_cxx_trait_expression): Add. + (pp_cxx_primary_expression): Use it. + * cxx-pretty-print.h (pp_cxx_trait_expression): Declare. + * error.c (dump_expr): Use it. + +2007-09-16 Paolo Carlini + + PR c++/33124 + * init.c (build_new): Remove warning for zero-element + allocations. + +2007-09-16 Nathan Sidwell + + PR c++/32756 + * call.c (maybe_handle_implicit_object): Set this_p, clear + rvaluedness_matches_p. + (compare_ics): Do not compare rvaluedness matching when one of the + operands is an implicit object. + +2007-09-14 Jason Merrill + + PR c++/17743, c++/19163 + * decl2.c (is_late_template_attribute): New fn. + (splice_template_attributes, save_template_attributes): New fns. + (cplus_decl_attributes): Call save_template_attributes. + * pt.c (apply_late_template_attributes): New fn. + (instantiate_class_template, tsubst_decl): Use it. + * cp-tree.h: Declare is_late_template_attribute. + +2007-09-13 Tom Tromey + + * parser.c (cp_lexer_new_main): Don't use + c_lex_return_raw_strings. + (cp_lexer_get_preprocessor_token): Update. Add special case when + lexer is NULL. + +2007-09-11 Jan Hubicka + + * method.c (use_thunk): Use tree_rest_of_compilation + * cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. + (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define. + * cp-tree.h (expand_body): Kill. + (emit_associated_thunks): Declare. + * semantics.c (emit_associated_thunks): Export. + (expand_body): Kill. + +2007-09-09 David Daney + + PR c++/33324 + * init.c (build_new_1): Use POINTER_PLUS_EXPR instead of MINUS_EXPR + to calculate cookie_ptr. + +2007-09-08 Jason Merrill + + PR c++/33342 + * pt.c (most_specialized_class): Set processing_template_decl + while tsubsting partial spec args. + 2007-09-06 Jason Merrill * decl2.c (get_guard): Copy visibility from the guarded variable.