+2003-04-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10428
+ * decl.c (check_elaborated_type_specifier): New function, split
+ out from ...
+ (xref_tag): ... here. Use the new function in more places.
+
+ * rtti.c (throw_bad_typeid): Use build_cxx_call.
+
+2003-04-21 Mark Mitchell <mark@codesourcery.com>
+
+ * call.c (build_over_call): Use build_cxx_call.
+ (build_cxx_call): New method, split out of build_over_call.
+ * cp-tree.h (language_function): Add can_throw.
+ (build_cxx_call): Declare it.
+ * decl.c (finish_function): If a function does not contain any
+ calls to functions that can throw an exception, indicate that
+ fact.
+ * decl2.c (mark_used): Do not defer the instantiation of
+ functions, if the current function does not throw.
+ * optimize.c (maybe_clone_body): Copy TREE_NOTHROW to the clones.
+ * pt.c (instantiate_decl): Make sure import_export_decl is called
+ before emitting things.
+ * rtti.c (throw_bad_cast): Use build_cxx_call.
+ (build_dynamic_cast_1): Likewise.
+ * typeck.c (build_function_call): Likewise.
+
+2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9881
+ * typeck.c (build_unary_op): Fold all COMPONENT_REF addr
+ expressions. Reverts my 2002-08-08 patch.
+
+ * typeck.c (comp_ptr_ttypes_real): Swap final && operands for
+ cheaper early exit.
+
+2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cp/decl2.c (start_static_storage_duration_function): Take count
+ arg, don't check if it wraps round.
+ (generate_ctor_or_dtor_function): Add locus arg, use it.
+ (generate_ctor_and_dtor_functions_for_priority): Data arg is a
+ locus.
+ (finish_file): Set line numbers to past EOF for synthesized
+ functions.
+
+2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10405
+ * search.c (lookup_field_1): Final scan goes backwards for
+ types, forwards for non-types.
+
+2003-04-17 Roger Sayle <roger@eyesopen.com>
+
+ PR c/10375
+ * decl.c (duplicate_decls): Preserve "const", "noreturn" and
+ "nothrow" function attributes.
+
+2003-04-17 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/10347
+ * pt.c (type_dependent_expression_p): Handle array new.
+
+2003-04-15 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10381
+ * parser.c (cp_parser_primary_expression): Reorganize logic for
+ dealing with name lookup failures.
+
+2003-04-15 Jason Merrill <jason@redhat.com>
+
+ * decl2.c (mark_used): Don't instantiate anything if
+ skip_evaluation.
+
+2003-04-14 Ziemowit Laski <zlaski@apple.com>
+
+ * tree.c (build_cplus_array_type_1): Do not call
+ uses_template_parms() on a NULL index_type.
+
+2003-04-13 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (duplicate_decls): Preserve pure and malloc attributes.
+
+2003-04-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10300
+ * init.c (build_new_1): Reorganize.
+
+2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * class.c (initialize_array)
+ * decl.c (reshape_init)
+ * decl2.c (build_expr_from_tree)
+ * init.c (build_zero_init)
+ * pt.c (tsubst_copy, tsubst_copy_and_build)
+ * rtti.c (tinfo_base_init, generic_initializer, ptr_initializer)
+ (ptm_initializer, class_initializer, get_pseudo_ti_init)
+ * semantics.c (finish_compound_literal)
+ * typeck.c (build_ptrmemfunc1)
+ * typeck2.c (store_init_value, process_init_constructor)
+ (build_functional_cast): Use build_constructor.
+
+2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * call.c (print_z_candidates): Use gcc_gettext_width, not
+ strlen, to determine how much padding to use.
+
+2003-04-10 Zack Weinberg <zack@codesourcery.com>
+
+ * decl.c: Update all calls to shadow_warning.
+
+2003-04-10 Mark Mitchell <mark@codesourcery.com>
+
+ * class.c (layout_class_type): Correct handling for overlong
+ bit-fields whose width is the same as an integer type.
+
+2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * cp-tree.def: Make fourth element for all 'c' and 'x' nodes zero.
+ * cp-lang.c (cp_tree_size): New function.
+ (LANG_HOOKS_TREE_SIZE): Override.
+
+ * cp-tree.h (SOURCE_LOCUS, SRCLOC_FILE, SRCLOC_LINE, struct
+ tree_srcloc, TS_CP_COMMON, TS_CP_SRCLOC): Kill.
+ (union lang_tree_node): Remove common and srcloc members.
+ (build_srcloc_here): Don't prototype.
+ * decl.c (cp_tree_node_structure): Kill SRCLOC case.
+ * pt.c (pending_templates): Correct comment.
+ * tree.c (build_srcloc, build_srcloc_here): Kill.
+
+2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * call.c: Include intl.h.
+ (print_z_candidate): Always use inform; get rid of errfn
+ argument. Reorganize so that all the strings get picked up
+ by xgettext. Note obligation of caller to pass first argument
+ through gettext.
+ (print_z_candidates): Update to match. Indent second and
+ successive candidates by strlen() of translated message.
+ (joust): Restructure ambiguous-conversion pedwarn so that
+ translators see a complete sentence. Update calls to
+ print_z_candidate.
+
+ * Make-lang.in (cp/call.o): Update dependencies.
+
+2003-04-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * decl.c (set_current_binding_level): Delete, revert last change.
+ (current_binding_level): Modify to allow it as as lvalue.
+
+2003-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * name-lookup.c (find_binding): Pass appropriate pointer type to
+ POP_TIMEVAR_AND_RETURN.
+
+2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Make-lang.in (cp-warn): Add $(STRICT_WARN).
+ * cp-tree.h: Don't insist on having GNUC.
+
+2003-04-03 Jason Merrill <jason@redhat.com>
+
+ * cvt.c (ocp_convert): Only abort if we try to convert an object
+ of TREE_ADDRESSABLE type.
+
+ * class.c (build_vtable): Set DECL_ALIGN here.
+ (get_vtable_decl): Not here.
+ (layout_vtable_decl): Or here.
+ (create_vtable_ptr): Or here.
+ (layout_class_type): Or here.
+ (check_bitfield_decl): Don't mess with field alignment.
+
+2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * operators.def (DEF_SIMPLE_OPERATOR, DEF_ASSN_OPERATOR,
+ DEF_ASSN_OPERATOR): Delete spurious semi-colon.
+ * rtti.c (dfs_class_hint_mark): Likewise.
+
+ * decl.c (push_local_name, push_class_level_binding,
+ maybe_inject_for_scope_var): Don't use POP_TIMEVAR_AND_RETURN in
+ functions returning void.
+ * decl2.c (add_using_namespace): Likewise.
+
+ * decl.c (print_binding_level, print_other_binding_stack,
+ print_binding_stack): Cast argument of %p specifier to void*.
+ * ptree.c (cxx_print_decl): Likewise.
+
+ * cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
+ VAR_FUNCTION_OR_PARM_DECL_CHECK,
+ VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
+ BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK, LANG_TYPE_CLASS_CHECK,
+ LANG_TYPE_PTRMEM_CHECK, LANG_DECL_U2_CHECK): Add __extension__.
+
+ * decl.c (set_current_binding_level): New macro. Use throughout
+ when setting the current binding level.
+
+ * cp-tree.h (cp_lvalue_kind, base_access): Delete trailing comma
+ in enum.
+ * method.c (mangling_flags): Likewise.
+
+ * cp-tree.h (lang_type_header): Add __extension__ and use
+ CHAR_BITFIELD for members.
+
+2003-04-02 Geoffrey Keating <geoffk@apple.com>
+
+ PR other/9274
+ * mangle.c: Include gt-cp-mangle.h.
+ (subst_identifiers): Mark with GTY.
+ * config-lang.in (gtfiles): Add cp/mangle.c.
+ * Make-lang.in: (gt-cp-mangle.h): New rule.
+ (cp/mangle.o): Depends on gt-cp-mangle.h.
+
+2003-04-01 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config-lang.in (gtfiles): Add \$(srcdir)/cp/name-lookup.c
+ after \$(srcdir)/cp/name-lookup.h.
+ * name-lookup.c: (cxx_binding_make): Use ggc_alloc_clearedinstead
+ of ggc_alloc. Include gt-cp-name-lookup.h at the end of the file.
+ * Make-lang.in: (gt-cp-name-lookup.h): Is generated by gengtype.
+ (cp/name-lookup.o): Depends on gt-cp-name-lookup.h.
+
+2003-03-31 Jason Merrill <jason@redhat.com>
+
+ PR java/10145
+ * class.c (check_field_decl): Don't set DECL_ALIGN.
+
+2003-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7647
+ * decl.c (grokdeclarator): Tidy, slightly.
+ * search.c (lookup_field_1): Add want_type parameter.
+ (lookup_field_r): Adjust call to lookup_field_1.
+
+2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * Make-lang.in (cp/name-lookup.o): Add more dependencies.
+
+2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cp-tree.h (binding_for_name: Move to name-lookup.h Adjust
+ prototype.
+ (cxx_scope_find_binding_for_name): Likewise.
+ * decl.c (find_binding: Move to name-lookup.c.
+ (binding_for_name): Likewise.
+ (cxx_scope_find_binding_for_name): Likewise.
+ (BINDING_LEVEL): Remove.
+ (push_binding): Tidy.
+ (push_class_binding): Likewise.
+ (pop_binding): Likewise.
+ (poplevel): Likewise.
+ (poplevel_class): Likewise.
+ (set_identifier_type_value_with_scope): Likewise.
+ (push_overloaded_decl): Likewise.
+ (lookup_tag): Likewise.
+ (unqualified_namespace_lookup): Likewise.
+ (lookup_name_current_level): Likewise.
+ (maybe_inject_for_scope_var): Likewise.
+ (namespace_binding): Move to name-lookup.c.
+ (set_namespace_binding): Likewise.
+ * decl2.c (lookup_using_namespace): Tidy.
+ (qualified_lookup_using_namespace): Likewise.
+ (do_toplevel_using_decl): Likewise.
+ * name-lookup.c: Include "timevar.h"
+ * name-lookup.h (cxx_scope): Declare.
+ (struct cxx_binding): Lose member "has_level". Adjust "scope"
+ member declaration.
+ (BINDING_SCOPE): Adjust definition.
+ (BINDING_HAS_LEVEL_P): Remove.
+
+2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * name-lookup.c: New file.
+ * name-lookup.h: Likewise..
+ * decl.c (push_binding): Adjust use cxx_binding_make.
+ (free_bindings): Move to name-lookup.c
+ (pop_binding): Use cxx_binding_free.
+ (binding_for_name): Tidy.
+ * cp-tree.h: Include "name-lookup.h"
+ (cxx_binding_make): Move to name-lookup.h
+ (cxx_binding_clear): Likewise.
+ (struct cxx_binding): Likewise.
+ (LOCAL_BINDING_P): Likewise.
+ (INHERITED_VALUE_BINDING_P): Likewise.
+ (BINDING_SCOPE): Likewise.
+ (BINDING_HAS_LEVEL_P): Likewise.
+ (BINDING_VALUE): Likewise.
+ (BINDING_TYPE): Likewise.
+ * config-lang.in (gtfiles): Add cp/name-lookup.h
+ * Make-lang.in (cp/name-lookup.o): New rule.
+ (CXX_OBJS): Add cp/name-lookup.o
+ (CXX_TREE_H): Add cp/name-lookup.h
+
+2003-03-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/10245
+ * cvt.c (force_rvalue): New fn.
+ * call.c (build_conditional_expr): Use it.
+ * cp-tree.h: Declare it.
+
+2003-03-28 Mike Stump <mrs@apple.com>
+
+ * error.c (dump_expr): Add 0x to printed hex numbers to make
+ output match source code better.
+
+2003-03-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/10218
+ * decl.c (grokfndecl): Return NULL_TREE for bogus out-of-class
+ definitions.
+
+ * decl2.c (generate_ctor_or_dtor_function): Tolerate a
+ non-existant ssdf_decls array.
+ (finish_file): Call generator_ctor_or_dtor_function when there are
+ static constructors or destructors and no other static
+ initializations.
+
+2003-03-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10047
+ * decl2.c (finish_file): Don't warn about explicitly instantiated
+ inline decls.
+
+2003-03-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10224
+ * pt.c (lookup_template_class): Only check instantiated args if
+ they do not contain template parameters.
+
+2003-03-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10158
+ * parser.c (cp_parser_function_definition): Set
+ DECL_INITIALIZED_IN_CLASS for members.
+ * pt.c (instantiate_decl): Only reduce the template args for
+ friends that are not defined in class.
+
+2003-03-25 Jason Merrill <jason@redhat.com>
+
+ * call.c (print_z_candidate): Change name of first arg to msgid.
+ (joust): Add comment for translators.
+
+2003-03-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9898, PR c++/383, DR 322
+ * pt.c (maybe_adjust_types_for_deduction) <DEDUCE_CONV>: Look
+ through reference types on both PARM and ARG.
+
+2003-03-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10119
+ * error.c (dump_expr) <BASELINK>: Use dump_expr.
+ * pt.c (maybe_fold_nontype_args): New function.
+ (tsubst_copy) <SCOPE_REF>: Subst any template_id args.
+ <TEMPLATE_ID_EXPR>: Break out folding code, call it.
+ (tsubst_copy_and_build) <TEMPLATE_ID_EXPR>: Call
+ maybe_fold_nontype_args.
+
+2003-03-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/10026
+ * decl2.c (arg_assoc_type) <ERROR_MARK>: Don't die.
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * typeck.c (cxx_mark_addressable): Adjust call to
+ gen_mem_addressof or put_var_into_stack.
+
+2003-03-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9978, c++/9708
+ * cp-tree.h (instantiate_template): Add tsubst_flags parameter.
+ * call.c (add_template_candidate_real): Adjust
+ instantiate_template call.
+ * class.c (resolve_address_of_overloaded_function): Likewise.
+ * decl.c (build_enumerator): Set TREE_CONSTANT.
+ * pt.c (check_instantiated_args): New.
+ (push_inline_template_parms_recursive): Set TREE_CONSTANT,
+ TREE_READONLY.
+ (build_template_parm_index): Copy TREE_CONSTANT, TREE_READONLY.
+ (reduce_template_parm_level): Likewise.
+ (process_template_parm): Likewise.
+ (check_explicit_specialization): Adjust instantiate_template call.
+ (convert_template_argument): Don't check non-type argument here.
+ (lookup_template_class): Check them here.
+ (tsubst_friend_function): Adjust instantiate_template call.
+ (instantiate_template): Add tsubst_flags parameter, use it. Check
+ instantiated args.
+
+2003-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * decl.c: Update calls to shadow_warning.
+
+2003-03-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9898
+ * error.c (dump_decl) [CONST_DECL]: Print '<enumerator>'.
+ (dump_expr) [CONSTRUCTOR]: Print default ctor as a function call.
+
+2003-03-20 Mark Mitchell <mark@codesourcery.com>
+
+ * cp/decl2.c (arg_assoc_class): Correct check for namespace-scope
+ friends.
+ * cp/pt.c (instantiate_class_template): Fix formatting.
+
+2003-03-14 Matt Austern <austern@apple.com>
+
+ * cp-tree.h (unemitted_tinfo_decls): Declaration of a new varray.
+ (unemitted_tinfo_decl_p): Remove.
+ (emit_tinfo_decl): Change declaration to remove unused parameter.
+ * decl2.c (finish_file): Change tinfo emission to loop through
+ unemitted_tinfo_decls array instead of looping through all decls.
+ * rtti.c (unemitted_tinfo_decl_p): Declare as static, remove
+ unused second parameter.
+ (init_rtti_processing): initialize unemitted_tinfo_decls varray.
+ (get_tinfo_decls): push new tinfo decl on unemitted_tinfo_decls.
+ (emit_tinfo_decl): remove unused second parameter, add assertion
+ that decl hasn't already been emitted.
+
+2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * dump.c (cp_dump_tree), cp-tree.h (cp_dump_tree): Change return
+ type from 'int' to 'bool'. Replace 0 and 1 with true and false in
+ return statements.
+
+2003-03-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/8316, c++/9315, c++/10136
+ * call.c (print_z_candidate): Split out from...
+ (print_z_candidiates): ...here.
+ (joust): Use it.
+
+2003-03-17 Roger Sayle <roger@eyesopen.com>
+
+ PR c++/10031
+ * decl.c (duplicate_decls): Use the new type when prototyping
+ anticipated decls, even when the types match. This defines the
+ exception list for the built-in function.
+
+2003-03-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/10091
+ * typeck.c (build_class_member_access_expr): Compare
+ TYPE_MAIN_VARIANTs.
+
+2003-03-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9639
+ * parser.c (cp_parser_declarator_id): Clear parser->scope.
+
+2003-03-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/9993
+ * decl.c (finish_function): Only allow the NRVO to use variables
+ declared at function scope.
+
+2003-03-17 Andreas Jaeger <aj@suse.de>
+
+ * Make-lang.in (cp/TAGS): Remove.
+
+2003-03-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/9629
+ * cp-tree.h (struct language_function): Add in_base_initializer.
+ (in_base_initializer): define it.
+ (expand_member_init): Remove INIT param.
+ * init.c (expand_member_init): Remove INIT param, return the member.
+ (emit_mem_initializers): Set in_base_initializer.
+ * class.c (build_base_path): Check in_base_initializer.
+ * parser.c (cp_parser_mem_initializer): Set in_base_initializer.
+ * pt.c (tsubst_initializer_list): Likewise.
+
2003-03-16 Gabriel Dos Reis <gdr@integrable-solutions.net>
* decl.c (binding_for_name): Fix initialization thinko.
2003-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
+
Compile-time improvement: 2/n.
* cp-tree.h (struct cxx_binding): New datatype;
(struct lang_identifier): Use it.
(poplevel_class): Likewise.
(free_bindings): Adjust type.
(find_binding): Adjust return type, add a third parameter. Remove
- non-useful assertion now that we use static typing.
+ non-useful assertion now that we use static typing.
(cxx_scope_find_binding_for_name): New function.
- (binding_for_name): Use it. Adjust local variable type. Simplify.
+ (binding_for_name): Use it. Adjust local variable type. Simplify.
(namespace_binding): Simplify.
(set_namespace_binding): Likewise.
(set_identifier_type_value_with_scope): Adjust local variable type.
2003-03-11 Jason Merrill <jason@redhat.com>
PR c++/9820
- * search.c (lookup_member): Fix handling of functions in a class
+ * search.c (lookup_member): Fix handling of functions in a class
being defined.
2003-03-11 Mark Mitchell <mark@codesourcery.com>
2003-03-11 Jason Merrill <jason@redhat.com>
PR c++/8660
- * decl2.c (check_classfn): A member template only matches a
+ * decl2.c (check_classfn): A member template only matches a
member template.
2003-03-11 Neil Booth <neil@daikokuya.co.uk>
(build_function_call): ... this.
2003-03-10 Devang Patel <dpatel@apple.com>
-
+
PR c++/9394
* g++spec.c (lang_specific_driver): Use DEFAULT_WORD_SWTCH_TAKES_ARG.
(handle_class_head): Remove unncessary parameters.
* parser.c (cp_parser_class_head): Check that
nested-name-specifiers are used appropriately.
-
+
2003-03-07 Mark Mitchell <mark@codesourcery.com>
* call.c (reference_binding): Remove REF_IS_VAR parameter.
* cvt.c (build_up_reference): Adjust use of
make_temporary_var_for_ref_to_temp.
* tree.c (real_non_cast_lvalue_p): New method.
-
+
2003-03-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
* except.c (init_exception_processing): Use C90 prototype style.
(can_convert_eh): Likewise.
(check_handlers_1): Likewise.
(check_handlers): Likewise.
-
+
2003-03-06 Mark Mitchell <mark@codesourcery.com>
* call.c (merge_conversion_sequences): New function.
(build_user_type_conversion_1): Use merge_conversion_sequences.
* cp-tree.def: Add comments for CONV nodes.
* rtti.c (get_tinfo_decl): Use build_address/build_nop.
-
+
2003-03-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
* error.c (init_error): Use C90 prototype style.
(push_namespace): Initialize static_decls for ordinary namespaces.
(cxx_init_decl_processing): Initialize static_decls for global
namespace.
-
+
2003-03-05 Mark Mitchell <mark@codesourcery.com>
* class.c (end_of_class): Correct thinko.
2003-03-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
- * cp-tree.h (cxx_saved_binding): Declare.
- (struct saved_scope): Adjust type of field 'old_binding'.
- * decl.c (cxx_saved_binding_make): New macro.
- (struct cxx_saved_binding): Define.
- (store_bindings): Adjust prototype. Use cxx_saved_binding to save
- C++ bindings.
- (maybe_push_to_top_level): Adjust local variable type.
- (pop_from_top_level): Likewise.
-
+ * cp-tree.h (cxx_saved_binding): Declare.
+ (struct saved_scope): Adjust type of field 'old_binding'.
+ * decl.c (cxx_saved_binding_make): New macro.
+ (struct cxx_saved_binding): Define.
+ (store_bindings): Adjust prototype. Use cxx_saved_binding to save
+ C++ bindings.
+ (maybe_push_to_top_level): Adjust local variable type.
+ (pop_from_top_level): Likewise.
+
2003-03-04 Tom Tromey <tromey@redhat.com>
* Make-lang.in (c++.tags): New target.
(convert_for_initialization): Adjust call to
initialize_reference.
* typeck2.c (store_init_value): Remove #if 0'd code.
-
+
2003-03-03 Jason Merrill <jason@redhat.com>
* decl.c (start_function): Clear DECL_NUM_STMTS.
2003-02-28 Aldy Hernandez <aldyh@redhat.com>
- * parser.c (cp_parser_init_declarator): Revert opaque
- vector_opaque_p change.
- Do not include target.h.
+ * parser.c (cp_parser_init_declarator): Revert opaque
+ vector_opaque_p change.
+ Do not include target.h.
2003-02-28 Mark Mitchell <mark@codesourcery.com>
build_zero_init.
(build_new_1): Adjust call to build_default_init.
* typeck2.c (process_init_constructor): Adjust call to build_zero_init.
-
+
2003-02-26 Devang Patel <dpatel@apple.com>
- * decl.c (finish_enum): Merge two 'for' loops. Copy value node if required.
- Postpone enum setting for template decls.
- (build_enumerator): Delay copying value node until finish_enum (). Remove
- #if 0'ed code.
+ * decl.c (finish_enum): Merge two 'for' loops. Copy value node if
+ required. Postpone enum setting for template decls.
+ (build_enumerator): Delay copying value node until finish_enum
+ (). Remove #if 0'ed code.
* pt.c (tsubst_enum): Set TREE_TYPE and copy value node.
(tsubst_copy): Add check for enum type.
-
+
2003-02-25 Mark Mitchell <mark@codesourcery.com>
PR c++/9683
* pt.c (instantiate_class_template): Don't try to instantiate
dependent types.
(resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE.
-
+
2003-02-21 Mark Mitchell <mark@codesourcery.com>
PR c++/9749
2003-02-21 Nathan Sidwell <nathan@codesourcery.com>
- * search.c (bfs_walk_grow): Remove. Fold into ...
+ * search.c (grow_bfs_bases): Remove. Fold into ...
(bfs_walk): ... here, fix fencepost error. Fix merge lossage
in previous patch.
trailing bit fields when computing CLASSTYPE_SIZE_UNIT.
2003-02-18 Matt Austern <austern@apple.com>
-
+
* cp/cp-lang.c: Change lang hooks so that final_write_globals does
nothing for C++.
* cp/decl.c (wrapup_globals_for_namespace): Remove special
handling of global namespace.
-
+
2003-02-18 Geoffrey Keating <geoffk@apple.com>
* cp-tree.h (rid_to_yy): Delete.
2003-02-14 Andrew Pinski <pinskia@physics.uc.edu>
- * decl.c: (define_label): Fix warning for return 0 instead of NULL.
-
+ * decl.c: (define_label): Fix warning for return 0 instead of NULL.
+
2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
* decl.c: Include "timevar.h".
(xref_tag): Likewise.
* Make-lang.in (cp/decl.o): Add dependency on timevar.h
-
+
2003-02-12 Phil Edwards <pme@gcc.gnu.org>
* decl.c (build_enumerator): Remove unneeded test.
(build_modify_expr): Likewise.
(build_x_modify_expr): Likewise.
* typeck2.c (build_x_arrow): Likewise.
-
+
2003-01-29 Fariborz Jahanian <fjahanian@apple.com>
- * pt.c (last_pending_template) Declare GTY().
+ * pt.c (last_pending_template) Declare GTY().
2003-01-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
PR c++/9415
* pt.c (tsubst_copy_and_build, CALL_EXPR): BASELINK exprs are
already scoped.
-
+
PR c++/8545
* parser.c (cp_parser_cast_expression): Be more tentative.
(cp_parser_expression_statement): Use it.
(cp_parser_explicit_instantiation): Likewise.
* pt.c (do_decl_instantiation): Improve error handling logic.
-
+
2003-01-22 Mark Mitchell <mark@codesourcery.com>
PR c++/9384
(dependent_template_arg_p): Likewise.
(dependent_template_id_p): Likewise.
(dependent_template_p): Likewise.
-
+
PR c++/9285
PR c++/9294
* parser.c (cp_parser_simple_declaration): Return quickly when
- encountering errors.
+ encountering errors.
2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
PR c++/9272
* parser.c (cp_parser_constructor_declarator_p): Do not assume
that a constructor cannot be declared outside of its own class.
-
+
* parser.c (cp_parser_resolve_typename_type): If the scope cannot
be resolved, neither can the qualified name.
2003-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
- * cfns.gperf: ANSIfy function declarations.
- * cfns.h: Regenerate.
- * cp-tree.h: ANSIfy function declarations.
- * parser.c: ANSIfy function declarations & definitions.
+ * cfns.gperf: ANSIfy function declarations.
+ * cfns.h: Regenerate.
+ * cp-tree.h: ANSIfy function declarations.
+ * parser.c: ANSIfy function declarations & definitions.
* decl.c (bad_specifiers): Fix parameter order error I introduced.
2003-01-09 Geoffrey Keating <geoffk@apple.com>
Merge to tag pch-merge-20030102:
-
+
* semantics.c (finish_translation_unit): Don't call finish_file.
* parser.c: Don't include ggc.h.
(cp_lexer_new_main): Rename from cp_lexer_new, only create main lexer,
* Make-lang.in: Remove $(GGC_H) from all dependencies.
(CXX_TREE_H): Add $(GGC_H).
- * class.c: Don't include ggc.h.
+ * class.c: Don't include ggc.h.
(field_decl_cmp): Make parameters be 'const void *' to match qsort.
(method_name_cmp): Likewise.
(resort_data): New variable.
(register_local_specialization): Revert 2003-01-05 change.
(instantiate_decl): Use hash_local_specialization when creating
the local_specializations table.
-
+
* decl2.c (mark_used): Do not synthesize thunks.
* class.c (layout_class_type): Correct handling of unnamed
(register_local_specialization): Use htab_find_slot, not
htab_find_slot_with_hash.
(instantiate_decl): Pass a hash function to htab_create.
-
+
2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* parser.c (cp_parser_binary_expression,
2003-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
- * cvt.c, decl.c, decl2.c: This is the C++ front end, not the C
+ * cvt.c, decl.c, decl2.c: This is the C++ front end, not the C
front end.
2003-01-03 Matt Austern <austern@apple.com>
(finish_file): iterate only through keyed_classes list when
deciding whether to emit vtables, remove class from its list after
we do the emission.
-
+
2003-01-02 Jason Merrill <jason@redhat.com>
* call.c (build_conditional_expr): Stabilize lvalues properly.
* parser.c (struct cp_parser): Add access_checks_lists field
(cp_parser_simple_declaration): Use.
- (cp_parser_init_declarator): Likewise.
+ (cp_parser_init_declarator): Likewise.
2003-01-02 Mark Mitchell <mark@codesourcery.com>
2002-08-11 Gabriel Dos Reis <gdr@nerim.net>
- * decl.c (duplicate_decls): Replace DECL_SOURCE_FILE +
+ * decl.c (duplicate_decls): Replace DECL_SOURCE_FILE
DECL_SOURCE_LINE with DECL_SOURCE_LOCATION.
* optimize.c (maybe_clone_body): Likewise.
* pt.c (tsubst_enum): Likewise.
* decl.c: Include c-common.h.
(shadow_warning): Move to c-common.c.
-Wed Dec 5 17:00:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-12-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE.
* Make-lang.in (c++.generated-manpages): New dummy target.
-Tue Nov 27 09:03:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-11-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Make-lang.in (cp-lang.o): Depends on c-common.h.
* cp-lang.c (c-common.h): Include.
* cp-lang.c: Redefine LANG_HOOKS_CLEAR_BINDING_STACK to
pop_everything.
-Tue Oct 23 14:00:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* cp-lang.c (cxx_get_alias_set): New function.
Point LANG_HOOKS_GET_ALIAS_SET to it.
instead of deleted print_* routines. Handle %C, %L, %O, %Q also.
(init_error): Adjust to match.
-Sat Sep 22 09:15:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-09-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Make-lang.in (CXX_C_OBJS): Add attribs.o.
* decl2.c (mark_vtable_entries): Mark FDESC_EXPR.
* typeck.c (get_member_function_from_ptrfunc): Mind descriptors.
-Fri Sep 21 08:16:19 2001 J"orn Rennecke <amylaar@redhat.com>
+2001-09-21 J"orn Rennecke <amylaar@redhat.com>
* decl.c (grokdeclarator): Use C syntax for attr_flags declaration.
* gxxint.texi: Remove.
* Make-lang.in: Remove all traces of gxxint.texi.
-Mon Apr 30 16:14:10 2001 Mark P Mitchell <mark@codesourcery.com>
+2001-04-30 Mark P Mitchell <mark@codesourcery.com>
* decl2.c (start_static_initialization_or_destruction): Correct
logic to handle the -fno-use-cxa-atexit case.
* lang-specs.h: Add __DEPRECATED.
-Thu Apr 5 16:54:29 2001 J"orn Rennecke <amylaar@redhat.com>
+2001-04-05 J"orn Rennecke <amylaar@redhat.com>
* search.c (get_dynamic_cast_base_type): When building a new
constant, set its type to ssizetype.
* Makefile.in (g++spec.o): Adjust use of DRIVER_DEFINES.
-Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2001-02-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* decl.c (pushdecl): Call abort instead of fatal.
* except.c (decl_is_java_type): Call fatal_error instead of fatal.
Cope when there is no partial instantiation of a template
template member.
-Thu Nov 23 02:16:47 2000 J"orn Rennecke <amylaar@redhat.com>
+2000-11-23 J"orn Rennecke <amylaar@redhat.com>
* Make-lang.in (g++spec.o, cxxmain.o): Depend on $(CONFIG_H).
* typeck2.c (abstract_virtuals_error): Use "because" instead of
"since" in error message.
-Fri Oct 20 13:54:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-10-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* typeck.c (dubious_conversion_warning): Suppress if TYPE_IS_SIZETYPE.
* dump.c (dequeue_and_dump): Dump TREE_USED.
-Tue Oct 17 20:19:06 2000 Brad Lucier <lucier@math.purdue.edu>
+2000-10-17 Brad Lucier <lucier@math.purdue.edu>
* spew.c (snarf_defarg): Cast 2nd arg to obstack_blank to (int).
* lex.c (reswords): Add _Complex.
-Thu Sep 14 12:10:45 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-09-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Make-lang.in (cplib2.txt): Depend on cp/Makefile.
rest_of_decl_compilation, for local guards.
* lex.c (do_identifier): Remove unused variable.
-Wed Jul 26 15:05:51 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
+2000-07-26 Marc Espie <espie@cvs.openbsd.org>
* parse.y: Add missing ';'.
* cp-tree.h (struct lang_type): Add user_align member.
(CLASSTYPE_USER_ALIGN): Define.
-Tue Jun 13 15:48:03 2000 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+2000-06-13 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* Make-lang.in (c++.install-common): Install g++-cross in
$(gcc_tooldir)/bin as g++ and c++; g++ in $(bindir) as
Avoid unnecessary searching.
(__dynamic_cast): Adjust for __dyncast_result::whole_details.
-Mon Jun 5 06:48:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-06-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* decl.c (init_decl_processing): Don't call record_component_aliases.
* tree.c (build_cplus_array_type_1): Likewise.
* init.c (resolve_offset_ref): Remove check for TREE_ADDRESSABLE
on FIELD_DECLs.
-Wed May 31 14:09:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-05-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* cp-tree.h (c_get_alias_set): Deleted.
* Makefile.in (decl.o): Include ../expr.h.
* Make-lang.in (cplib2.ready): Eradicate.
-Sat May 27 11:25:46 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* method.c (mangle_expression): Use TREE_CODE_LENGTH.
* tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH.
* init.c (sort_member_init): Fix typo in error message generation
code.
-Mon May 15 11:46:29 2000 Donald Lindsay <dlindsay@cygnus.com>
+2000-05-15 Donald Lindsay <dlindsay@cygnus.com>
* semantics.c (begin_class_definition): make the packed
attribute be sensitive to the "-fpack-struct" command line flag
reference.
* typeck.c (build_component_ref): Fix formatting.
-Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
+2000-05-17 Andrew Cagney <cagney@b1.cygnus.com>
* decl.c (pop_label): Replace warn_unused with warn_unused_label.
* typeck.c (build_x_compound_expr): Replace warn_unused with
* decl2.c (grokfield): Issue error on illegal data member
declaration.
-Mon Apr 17 17:11:16 2000 Mark P Mitchell <mark@codesourcery.com>
+2000-04-17 Mark P Mitchell <mark@codesourcery.com>
* method.c (make_thunk): Set DECL_CONTEXT for a THUNK_DECL.
Use int_size_in_bytes.
(emit_thunk): Handle vcall offset thunks.
-Sat Apr 15 16:00:01 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* decl2.c (parse_time, varconst_time): Delete declarations.
(finish_file): Delete LINENO declaration.
* tinfo.cc (__dynamic_cast): Look for vtable_prefix at appropriate
negative offset.
-Sun Mar 26 20:15:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-03-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (check_field_decl): Fix typo.
(build_vtbl_or_vbase_field): Don't clear DECL_SAVED_INSNS.
* dump.c (dequeue_and_dump): Dump DECL_TEMPLATE_RESULT.
-Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-03-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (build_vbase_pointer_fields): layout_field now place_field.
(get_vfield_offset): Use byte_position.
(note_name_declared_in_class): Use OVL_CURRENT to get at a
potential overload.
-Fri Mar 17 08:09:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-03-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (build_vbase_path): Use integer_zerop.
(build_vtable_entry): Use tree_low_cst.
* typeck.c (dubious_conversion_warnings): Look through
REFERENCE_TYPE.
-Mon Mar 6 08:46:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-03-06 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (dfs_modify_vtables): I is now unsigned.
(check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int.
push_eh_cleanup() when handling a Java-style "catch". Pass Java
class reference to build_catch_block.
-Thu Mar 2 13:32:01 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* typeck.c (comptypes): Treat sizetype like its language equivalent.
* class.c (resolve_address_of_overloaded_function): Pass desired
return type to fn_type_unification.
-Mon Feb 28 08:15:23 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-02-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (build_vtbl_or_vbase_field, check_methods): Don't clear
DECL_FIELD_SIZE.
(friend_accessible_p): Lose TYPE parm.
(accessible_p): Adjust.
-Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-02-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop
on things that are not sizes; ssize_binop deleted.
* lex.c (check_newline): Tweak filename/lineno setting.
* semantics.c (begin_while_stmt): Fix typo in comment.
-Sat Feb 26 19:50:23 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-02-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* lang-options.h (-fmessage-length=): Add missing option.
* Make-lang.in: Delete refs to LIBGCC2_DEPS.
-Fri Feb 25 14:52:33 2000 Jim Wilson <wilson@cygnus.com>
+2000-02-25 Jim Wilson <wilson@cygnus.com>
* optimize.c (expand_call_inline): Emit the return label before
evaluating the return value.
* pt.c (tsubst_decl): Fix formatting.
-Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+2000-02-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (build_primary_vtable, layout_vtable_decl): Likewise.
(avoid_overlap, build_base_field): Likewise.
* parse.y (simple_stmt): Allow :: token in asm parameter list.
* parse.c: Rebuilt.
-Mon Jan 31 15:35:29 2000 Jim Wilson <wilson@cygnus.com>
+2000-01-31 Jim Wilson <wilson@cygnus.com>
* class.c (build_vtbl_or_vbase_field): New parameter fcontext.
Store it in DECL_FCONTEXT.
(build_vtbl_initializer): Likewise.
* decl2.c (finish_file): Likewise.
-Thu Jan 27 20:53:36 2000 Jim Wilson <wilson@cygnus.com>
+2000-01-27 Jim Wilson <wilson@cygnus.com>
* optimize.c (remap_decl): Add walk_tree calls for DECL_SIZE (t)
and TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (t))).
-Thu Jan 27 13:54:12 2000 Mike Stump <mrs@wrs.com>
+2000-01-27 Mike Stump <mrs@wrs.com>
* decl.c (pushdecl): Fix up shadow warnings with respect to implicit
for scopes.
* pt.c (unify): Use fold, not maybe_fold_nontype_arg.
-Wed Jan 26 22:19:14 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+2000-01-26 J"orn Rennecke <amylaar@cygnus.co.uk>
* optimize.c (calls_setjmp_r): Supply new argument
to special_function_p.