+2000-10-06 Richard Henderson <rth@cygnus.com>
+
+ * cp-tree.h (struct cp_language_function): Remove x_result_rtx.
+ (original_result_rtx): Remove.
+ * decl.c (save_function_data): Don't clear x_result_rtx.
+ (mark_lang_function): Don't mark it either.
+ * expr.c (fixup_result_decl): Remove.
+ * semantics.c (genrtl_named_return_value): Frob the return decl
+ before calling emit_local_var.
+ (genrtl_finish_function): Don't call fixup_result_decl.
+ Always emit the jump to return_label.
+
+2000-10-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * pt.c (lookup_template_class): Set current access for enum.
+ (tsubst_enum): Set file & line for enum decl.
+
+ * spew.c (yylex): Remove unused variable.
+
+2000-10-05 Richard Henderson <rth@cygnus.com>
+
+ * semantics.c (genrtl_finish_function): Don't init or check
+ can_reach_end; remove noreturn and return value checks.
+
+2000-10-05 Tom Tromey <tromey@cygnus.com>
+
+ * init.c (build_java_class_ref): Use `build_static_name' with a
+ suffix, not a prefix, to build the class object's name.
+
+2000-10-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cp-tree.h (access_kind): Fix comment typo.
+ * decl2.c (grokfield): Fix diagnostic typo.
+ * semantics.c (finish_template_type): Fix comment typo.
+ (finish_qualified_object_call_expr): Likewise.
+
+2000-10-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * pt.c (tsubst_expr, DECL_STMT case): Don't process if
+ tsubsting fails.
+
+2000-10-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * spew.c (frob_id): New static function.
+ (frob_opname): Use it.
+ (yylex): Use it.
+
+2000-10-01 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (lang_mark_false_label_stack): Remove.
+ * lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.
+
+2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gxxint.texi: Use @email for formatting email addresses.
+
+2000-09-29 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * error.c: Remove direct obstack manipulation. Replace with
+ output_buffer-based formatting. Adjust calls to removed macros.
+ (obstack_chunk_alloc, obstack_chunk_free): Remove.
+ (OB_INIT, OB_PUTC, OB_PUTC2, OB_PUTS, OB_PUTID, OB_PUTCP,
+ OB_FINISH, OB_PUTI, OB_END_TEMPLATE): Likewise.
+
+2000-09-24 Mark Mitchell <mark@codesourcery.com>
+
+ * ir.texi: Move to ../c-tree.texi.
+
+2000-09-20 Jason Merrill <jason@redhat.com>
+
+ * decl2.c (get_guard): Check DECL_FUNCTION_SCOPE_P.
+
+2000-09-21 Andreas Jaeger <aj@suse.de>
+
+ * errfn.c: Move declaration of cp_printer and cp_printers to ...
+ * cp-tree.h: ... here.
+
+ * error.c: Remove declaration of cp_printer.
+
+2000-09-20 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
+
+2000-09-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * except.c: Delete #if 0:d EXCEPTION_SECTION_ASM_OP-default and
+ users.
+
+2000-09-18 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (start_function): Robustify.
+
+2000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cp-tree.h (check_function_format): Accept a `status' parameter.
+
+ * call.c, typeck.c: Updates calls to `check_function_format'.
+
+2000-09-17 Geoffrey Keating <geoffk@cygnus.com>
+
+ * decl2.c (handle_class_head): Always push some scope even
+ in the error case.
+
+2000-09-16 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (struct cp_language_function): Remove
+ x_scope_stmt_stack and name_declared.
+ (current_scope_stmt_stack): Remove.
+ (function_name_declared_p): New macro.
+ (struct lang_decl_flags): Use c_lang_decl as a base class.
+ (context): Remove.
+ (struct lang_decl): Replace saved_tree with context.
+ (DECL_FRIEND_CONTEXT): Adjust accordingly.
+ (SET_DECL_FRIEND_CONTEXT): Likewise.
+ (DECL_VIRTUAL_CONTEXT): Likewise.
+ (DECL_SAVED_TREE): Remove.
+ (C_DECLARED_LABEL_FLAG): Likewise.
+ (cplus_expand_expr_stmt): Don't declare.
+ (add_decl_stmt): Likewise.
+ (add_scope_stmt): Likewise.
+ * decl.c (mark_stmt_tree): Remove.
+ (case_compare): Likewise.
+ (finish_case_label): Use c_add_case_label.
+ (init_decl_processing): Set more language-specific hooks.
+ (build_enumerator): Fix typo in comment.
+ (cplus_expand_expr_stmt): Remove.
+ (mark_lang_function): Use mark_c_language_function.
+ (lang_mark_tree): Use c_mark_lang_decl.
+ * decl2.c: Change order of inclusion.
+ * except.c: Likewise.
+ * expr.c (cplus_expand_expr): Remove handling of STMT_EXPR. Fall
+ back on c_expand_expr.
+ * friend.c: Include expr.h.
+ * init.c: Change order of inclusion.
+ * Makefile.in: Update dependencies.
+ * lex.h (free_lang_decl_chain): Remove.
+ * optimize.c (maybe_clone_body): Use function_name_declared_p.
+ * pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
+ it doesn't exist.
+ (instantiate_decl): Use function_name_declared_p.
+ * semantics.c (lang_expand_expr_stmt): Remove.
+ (set_current_function_name_declared): Likewise.
+ (current_function_name_declared): Likewise.
+ (begin_compound_stmt): Use function_name_declared_p.
+ (add_decl_stmt): Remove.
+ (setup_vtbl_ptr): Use function_name_declared_p.
+ (add_scope_stmt): Remove.
+ (current_scope_stmt_stack): New function.
+ (cp_expand_stmt): Don't handle SCOPE_STMTs.
+ (expand_body): Use function_name_declared_p.
+ * tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
+ * typeck.c: Change order of includes.
+ (convert_sequence): Remove.
+
+2000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * lex.c (reswords): Add _Complex.
+
+Thu Sep 14 12:10:45 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Make-lang.in (cplib2.txt): Depend on cp/Makefile.
+
+2000-09-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * init.c (begin_init_stmts): Don't use // comments.
+
+2000-09-12 Jason Merrill <jason@redhat.com>
+
+ * decl.c (maybe_deduce_size_from_array_init): Set do_default for
+ all non-extern arrays.
+
+ * decl.c (grokdeclarator): Complain about 'friend T' for implicit
+ typenames, too. Downgrade complaint to pedwarn.
+ (xref_tag): Warn about surprising behavior of 'friend struct T'.
+ * decl2.c (handle_class_head): Generate a TYPENAME_TYPE for
+ 'class This::Inherited'.
+
+2000-09-12 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (finish_case_label): Given the LABEL_DECL a
+ DECL_CONTEXT.
+
+2000-09-12 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * error.c (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE,
+ TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPDEF,
+ TFF_DECL_SPECIFIERS, TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
+ TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
+ TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS, TFF_SCOPE):
+ New macros.
+ (sorry_for_unsupported_tree, print_scope_operator,
+ print_left_paren, print_right_paren, print_left_bracket,
+ print_right_bracket, print_whitespace): Likewise.
+ (aggr_variety): Rename to class_key_or_enum.
+ (print_type): Rename to print_type_id.
+ (print_type_specifier_seq, print_simple_type_specifier,
+ print_elaborated_type_specifier,
+ print_rest_of_abstract_declarator,
+ print_parameter_declaration_clause, print_exception_specification,
+ print_nested_name_specifier, print_template_id,
+ typedef_original_name, print_template_argument_list_start,
+ print_template_argument_list_end): New functions.
+
+2000-09-11 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * ir.texi: Add more documentation.
+
+2000-09-11 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (struct saved_scope): Remove x_function_parms.
+ (current_function_parms): Don't define.
+ (struct cp_language_function): Remove parms_stored.
+ (current_function_just_assigned_this): Don't define.
+ (current_function_parms_stored): Likewise.
+ (static_ctors): Declare.
+ (static_dtors): Likewise.
+ (SF_EXPAND): Don't define.
+ (expand_start_early_try_stmts): Remove declaration.
+ (store_parm_decls): Likewise.
+ * decl.c (static_ctors): Don't declare.
+ (static_dtors): Likewise.
+ (struct binding_level): Remove this_block.
+ (poplevel): Remove dead code.
+ (set_block): Likewise.
+ (mark_binding_level): Don't mark this_block.
+ (mark_saved_scope): Don't mark x_function_parms.
+ (init_decl_processing): Don't add current_function_parms as a GC
+ root.
+ (check_function_type): Change prototype.
+ (start_function): Remove RTL-generation code.
+ (expand_start_early_try_stmts): Remove.
+ (store_parm_decls): Give it internal linkage. Remove
+ RTL-generation code.
+ (finish_function): Remove RTL-generation code.
+ * decl2.c (static_ctors): Fix formatting.
+ (static_dtors): Likewise.
+ * method.c (use_thunk): Don't call store_parm_decls.
+ (synthesize_method): Likewise.
+ * optimize.c (maybe_clone_body): Likewise.
+ * parse.y (fn.def2): Likewise.
+ (.set_base_init): Likewise.
+ (nodecls): Likewise.
+ * pt.c (instantiate_decl): Likewise.
+ * rtti.c (synthesize_tinfo_fn): Likewise.
+ * semantics.c (genrtl_try_block): Simplify.
+ (expand_body): Use genrtl_start_function and
+ genrtl_finish_function.
+ (genrtl_start_function): New function.
+ (genrtl_finish_function): Likewise.
+
+2000-09-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * error.c (cp_tree_printer, case 'P'): Append break.
+
+2000-09-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cp-tree.h (frob_opname): Declare.
+ * parse.y (saved_scopes): New static variable.
+ (cp_parse_init): Adjust.
+ (do_id): If lastiddecl is NULL, do do_identifier.
+ (operator): Save scope information.
+ (unoperator): new reduction. Restore scope information.
+ (operator_name): Append unoperator. Call frob_opname.
+ * spew.c (frob_opname): Define.
+
+2000-09-10 Zack Weinberg <zack@wolery.cumb.org>
+
+ * decl.c, rtti.c: Include defaults.h if not already included.
+ Don't define the *_TYPE_SIZE macros.
+
+2000-09-09 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (push_switch): Change prototype.
+ (check_cp_case_value): Remove declaration.
+ (decl_constant_value): Likewise.
+ * decl.c (struct cp_switch): Add switch_stmt and cases.
+ (case_compare): New function.
+ (push_switch): Set switch_stmt. Initialize cases.
+ (pop_switch): Clean up cases.
+ (define_case_label): Rename to ...
+ (finish_case_label): ... this. Do semantic analysis for case
+ labels here.
+ (start_function): Correct comment.
+ * decl2.c (check_cp_case_value): Remove.
+ * expr.c (do_case): Remove.
+ * pt.c (tsubst_expr): Adjust call to finish_case_label.
+ * semantics.c (genrtl_do_poplevel): Remove declaration.
+ (RECHAIN_STMTS): Remove.
+ (finish_break_stmt): Use build_break_stmt.
+ (finish_continue_stmt): Use build_continue_stmt.
+ (finish_switch_cond): Adjust condition here, rater than in
+ c_expand_start_case.
+ (finish_case_label): Remove.
+ * typeck.c (c_expand_return): Remove.
+ (c_expand_start_case): Likewise.
+
+2000-09-07 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * ir.texi: Document type nodes.
+
+2000-09-06 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (init_cp_semantics): Declare.
+ (genrtl_try_block): Don't declare.
+ (genrtl_handler): Likewise.
+ (genrtl_catch_block): Likewise.
+ (genrtl_ctor_stmt): Likewise.
+ (genrtl_subobject): Likewise.
+ (genrtl_do_poplevel): Likewise.
+ (genrtl_named_return_value): Likewise.
+ * lex.c (init_parse): Call init_cp_semantics.
+ * semantics.c (genrtl_try_block): Give it internal linkage.
+ (genrtl_handler): Likewise.
+ (genrtl_catch_block): Likewise.
+ (genrtl_ctor_stmt): Likewise.
+ (genrtl_subobject): Likewise.
+ (genrtl_do_poplevel): Likewise.
+ (genrtl_named_return_value): Likewise.
+ (lang_expand_stmt): Rename to ...
+ (cp_expand_stmt): ... this. Only handle C++-specific nodes.
+ (init_cp_semantics): Define.
+
+ * decl.c (initialize_local_var): Remove RTL-generating code.
+ * semantics.c (genrtl_try_block): Fix formatting.
+
+ Move statement-tree facilities from C++ to C front-end.
+ * cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
+ (void_zero_node): Remove.
+ (stmt_tree): Likewise.
+ (scope_chain): Adjust.
+ (language_function): Rename to cp_language_function.
+ (cp_function_chain): Adjust.
+ (current_stmt_tree): Remove.
+ (last_tree): Likewise.
+ (last_expr_type): Likewise.
+ (struct lang_decl): Adjust.
+ (STMT_IS_FULL_EXPR_P): Remove.
+ (add_tree): Remove.
+ (begin_stmt_tree): Likewise.
+ (finish_stmt_tree): Likewise.
+ (walk_tree_fn): Likewise.
+ (walk_stmt_tree): Likewise.
+ * class.c (finish_struct): Replace use of add_tree with add_stmt.
+ * decl.c (mark_stmt_tree): Adjust type.
+ (init_decl_processing): Don't build void_zero_node.
+ (initialize_local_var): Adjust usage of current_stmt_tree.
+ (finish_enum): Use add_stmt, not add_tree.
+ (save_function_data): Adjust use of language_function.
+ (finish_constructor_body): Use add_stmt, not add_tree.
+ (finish_destructor_body): Likewise.
+ (push_cp_function_context): Adjust use of language_function.
+ (pop_cp_function_context): Likewise.
+ (mark_lang_function): Likewise.
+ (mark_cp_function_context): Likewise.
+ * init.c (build_aggr_init): Adjust use of current_stmt_tree.
+ (build_vec_init): Likewise.
+ * semantics.c (SET_LAST_STMT): Remove.
+ (RECHAIN_STMTS): Don't use it.
+ (stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
+ (current_stmt_tree): Define.
+ (add_tree): Remove.
+ (finish_goto_stmt): Use add_stmt, not add_tree.
+ (finish_expr_stmt): Likewise.
+ (begin_if_stmt): Likewise.
+ (finish_then_clause): Likewise.
+ (begin_while_stmt): Likewise.
+ (begin_do_stmt): Likewise.
+ (finish_return_stmt): Likewise.
+ (begin_for_stmt): Likewise.
+ (finish_break_stmt): Likewise.
+ (finish_continue_stmt): Likewise.
+ (begin_switch_stmt): Likewise.
+ (finish_case_label): Likewise.
+ (begin_try_block): Likewise.
+ (begin_function_try_block): Likewise.
+ (begin_handler): Likewise.
+ (begin_catch_block): Likewise.
+ (begin_compound_stmt): Likewise.
+ (begin_asm_stmt): Likewise.
+ (finish_asm_stmt): Likewise.
+ (finish_label_stmt): Likewise.
+ (add_decl_stmt): Likewise.
+ (finish_subobject): Likewise.
+ (finish_decl_cleanup): Likewise.
+ (finish_named_return_value): Likewise.
+ (setup_vtbl_ptr): Likewise.
+ (add_scope_stmt): Likewise.
+ (finish_stmt_expr): Likewise.
+ (prune_unused_decls): Remove.
+ (begin_stmt_tree): Likewise.
+ (finish_stmt_tree): Likewise.
+ (prep_stmt): Adjust use of current_stmt_tree.
+ (lang_expand_stmt): Likewise.
+ * tree.c (statement_code_p): Remove.
+ (cp_statement_code_p): New function.
+ (walk_stmt_tree): Remove.
+ (init_tree): Set lang_statement_code_p.
+
+2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
+
+ Integrated preprocessor.
+
+ * Make-lang.in, Makefile.in: Remove all references to input.c,
+ gxx.gperf, and hash.h. Add ../c-lex.o to C_OBJS.
+ * gxx.gperf, hash.h, input.c: Delete.
+ * lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
+ initialized properly.
+
+ * class.c (fixup_pending_inline): Take a tree, not a
+ struct pending_inline *. All callers changed.
+ (init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
+ RID_PROTECTED entries in ridpointers[] array here.
+ * decl.c (duplicate_decls): Do not refer to struct
+ pending_inline.
+ (record_builtin_type, init_decl_processing): Use RID_MAX not
+ CP_RID_MAX.
+ (grokdeclarator): Use C_IS_RESERVED_WORD.
+ * decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
+ cpplib.
+ (grok_x_components): Do not inspect pending_inlines chain.
+
+ * cp-tree.h (struct lang_identifier): Add rid_code entry.
+ (C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
+ (flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
+ (DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
+ TIME_IDENTIFIER_FILEINFO): Kill.
+ Update prototypes.
+ * lex.h: Expunge cp_rid. Rewrite RIDBIT macros to use just a
+ single 32-bit word.
+ * parse.y: Call do_pending_inlines unconditionally.
+ reinit_parse_for_method is now snarf_method. fn.defpen is no
+ longer necessary. Remove unnecessary <itype> annotation on
+ SCOPE. Do not refer to end_of_file or struct pending_inline.
+ * semantics.c (begin_inline_definitions): Call
+ do_pending_inlines unconditionally.
+
+ * lex.c: Remove all code now shared with C front end.
+ Initialize cpplib properly if USE_CPPLIB. Put reserved words
+ into the get_identifier table. Rewrite pragma handling to
+ work with the registry. Move code to save tokens for later
+ processing to spew.c.
+
+ * spew.c: Rewrite everything in terms of token streams instead
+ of text. Move routines here from lex.c / input.c as
+ appropriate. GC-mark trees hanging off the pending inlines
+ chain.
+
+2000-09-06 Mark Mitchell <mark@codesourcery.com>
+
+ * NEWS: Mention that the named return value extension has been
+ deprecated.
+ * cp-tree.h (original_result_rtx): Define.
+ (TREE_REFERENCE_EXPR): Remove.
+ (DECL_VPARENT): Likewise.
+ (pushdecl_nonclass_level): Likewise.
+ (store_return_init): Likewise.
+ (reinit_lang_specific): Likewise.
+ (genrtl_named_return_value): Change prototype.
+ * decl.c (original_result_rtx): Remove.
+ (cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
+ Do not generate RTL for local variables here.
+ (store_return_init): Remove.
+ * semantics.c (genrtl_named_return_value): Simplify. Fold in
+ store_return_init.
+ (finish_named_return_value): Adjust accordingly. Warn that this
+ extension is deprecated.
+ (lang_expand_stmt): Adjust call to genrtl_named_return_value.
+
+2000-09-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * pt.c (type_unification_real): Replace switch with if.
+ (unify): Tsubst non-type parms before comparing.
+
+2000-09-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * error.c (dump_typename): New function, broken out of ...
+ (dump_type): ... here. Use it.
+ * typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
+
+2000-09-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * init.c (build_offset_ref): Deal with namespace scoped
+ TEMPLATE_ID_EXPRs.
+
+2000-09-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * class.c (resolve_address_of_overloaded_function): Add
+ explanation message.
+ * decl.c (define_case_label): Reformat explanation.
+ * decl2.c (finish_static_data_member_decl): Likewise.
+ (grokfield): Likewise.
+ * friend.c (do_friend): Likewise.
+
+2000-09-05 Zack Weinberg <zack@wolery.cumb.org>
+
+ * tree.c (walk_tree): Expose tail recursion.
+ (walk_stmt_tree): New function.
+ * cp-tree.h: Prototype walk_stmt_tree.
+ * semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
+ the BLOCKs directly. If a BLOCK has no variables after
+ pruning, discard it.
+ (finish_stmt_tree): Use walk_stmt_tree. No need to save and
+ restore the line number.
+
+2000-09-05 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in (CXX_TREE_H): Add dependency on HTAB_H.
+ (pt.o): Remove dependency on HTAB_H.
+ * cp-tree.h: Include hashtab.h.
+ (walk_tree): Change prototype.
+ (walk_tree_without_duplicates): New function.
+ * decl.c (check_default_argument): Use it.
+ * optimize.c (remap_decl): Adjust calls to walk_tree.
+ (copy_body): Likewise.
+ (expand_calls_inline): Likewise.
+ (calls_setjmp_p): Use walk_tree_without_duplicates.
+ * pt.c: Don't include hashtab.h.
+ (for_each_template_parm): Use walk_tree_without_duplicates.
+ * semantics.c (finish-stmt_tree): Likewise.
+ (expand_body): Likewise.
+ * tree.c (walk_tree): Add additional parameter.
+ (walk_tree_without_duplicates): New function.
+ (count_trees): Use it.
+ (verify_stmt_tree): Adjust call to walk_tree.
+ (find_tree): Use walk_tree_without_duplicates.
+ (no_linkage_check): Likewise.
+ (break_out_target_exprs): Adjust call to walk_tree.
+ (cp_unsave): Likewise.
+
+2000-09-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ * cp-tree.def (BOUND_TEMPLATE_TEMPLATE_PARM): New tree code.
+ (TEMPLATE_TEMPLATE_PARM): Adjust comment.
+ * cp-tree.h (TYPE_BINFO): Adjust comment.
+ (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
+ (TEMPLATE_TYPE_PARM_INDEX): Likewise.
+ (IS_AGGR_TYPE): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
+ (TYPE_TEMPLATE_INFO): Likewise.
+ (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Likewise.
+ * class.c (push_nested_class): Likewise.
+ * decl.c (lookup_name_real): Likewise.
+ (grokdeclarator): Likewise.
+ (grok_op_properties): Likewise.
+ (xref_tag): Likewise.
+ (xref_basetypes): Likewise.
+ * decl2.c (constructor_name_full): Likewise.
+ (arg_assoc_template_arg): Add TEMPLATE_TEMPLATE_PARM case.
+ (arg_assoc_type): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
+ * error.c (dump_type): Split TEMPLATE_TEMPLATE_PARM case.
+ (dump_type_prefix): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+ (dump_type_suffix): Likewise.
+ * init.c (is_aggr_type): Use BOUND_TEMPLATE_TEMPLATE_PARM
+ instead.
+ (get_aggr_from_typedef): Likewise.
+ * mangle.c (write_type): Split TEMPLATE_TEMPLATE_PARM case.
+ (write_expression): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+ (write_template_parm): Likewise.
+ (write_template_template_parm): Check tree code instead of
+ using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
+ * method.c (build_overload_nested_name): Add
+ BOUND_TEMPLATE_TEMPLATE_PARM.
+ (process_overload_item): Split TEMPLATE_TEMPLATE_PARM case.
+ * parse.y (bad_parm): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+ * pt.c (convert_template_argument): Check tree code instead of
+ using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
+ (for_each_template_parm_r): Split TEMPLATE_TEMPLATE_PARM case.
+ (for_each_template_parm): Adjust comment.
+ (tsubst): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize.
+ (tsubst_copy): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+ (unify): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize. Use
+ template_args_equal to compare template template parameter cases.
+ * ptree.c (print_lang_type): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+ * search.c (lookup_field_1): Use BOUND_TEMPLATE_TEMPLATE_PARM
+ instead.
+ * tree.c (copy_template_template_parm): Decide whether to create
+ a TEMPLATE_TEMPLATE_PARM or BOUND_TEMPLATE_TEMPLATE_PARM node.
+ (walk_tree): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+ (copy_tree_r): Likewise.
+ * typeck.c (comptypes): Likewise. Check tree code instead of
+ using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
+
+2000-09-04 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * decl.c (finish_function): Move the code for handling functions
+ marked with the constructor and destructor attributes inside the
+ expand_p block.
+
+2000-09-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
+
+2000-09-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * pt.c (lookup_template_class): Remove abort.
+ * tree.c (get_type_decl): Allow error_mark_node.
+
+2000-09-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * decl2.c (arg_assoc): Deal with COMPONENT_REFs inside
+ TEMPLATE_ID_EXPRs.
+
+2000-09-03 Mark Mitchell <mark@codesourcery.com>
+
+ * operators.def (ALIGNOF_EXPR, MAX_EXPR, MIN_EXPR): Change
+ new ABI mangling.
+
+2000-09-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * parse.y (named_class_head): Check for TYPENAME_TYPE. Simplify
+ union tag mismatch error reporting.
+
+2000-09-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * call.c (build_scoped_method_call): Check it is not a namespace.
+
+2000-08-30 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (LOCAL_CLASS_P): Use decl_function_context.
+
+ * tree.c (bot_manip): Check TREE_CONSTANT rather than
+ !TREE_SIDE_EFFECTS. Call break_out_target_exprs and
+ build_target_expr_with_type for the non-AGGR_INIT_EXPR case.
+
+ * decl.c (start_function): Always call make_function_rtl.
+
+2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
+
+ * semantics.c (prune_unused_decls): New function.
+ (finish_stmt_tree): Call it via walk_tree.
+
+2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
+
+ * class.c (build_secondary_vtable): Constify a char *.
+ * decl.c (init_decl_processing): Initialize function_id_node,
+ pretty_function_id_node, and func_id_node.
+ * input.c (struct input_source): Constify 'str'.
+ (feed_input): Constify first argument.
+ * mangle.c (write_identifier): Constify argument.
+ * pt.c (mangle_class_name_for_template): Constify argument.
+
+2000-08-29 Mark Mitchell <mark@codesourcery.com>
+
+ * typeck.c (mark_addressable): Remove code that pokes around in
+ RTL.
+
+2000-08-28 Jason Merrill <jason@redhat.com>
+
+ * lex.c (file_name_nondirectory): Move to toplev.c.
+
+ * cp-tree.h (LOCAL_CLASS_P): New macro.
+ * class.c (finish_struct_1): Use it.
+
+2000-08-27 Alex Samuel <samuel@codesourcery.com>
+
+ * mangle.c (CLASSTYPE_TEMPLATE_ID_P): Remove unexplained voodoo.
+ (write_encoding): Pass another argument to write_name.
+ (write_name): Add ignore_local_scope parameter. Fix handling of
+ local names.
+ (write_nested_name): Use write_unqualified_name.
+ (write_prefix): Likewise. Skip out on FUNCTION_DECLs.
+ (write_template_prefix): Use write_unqualified_name.
+ (write_component): Remove.
+ (write_local_name): Add parameter. Use direct local entity to
+ discriminator calculation.
+ (write_class_enum_type): Pass another argument to write_name.
+ (write_template_template_arg): Likewise.
+ (make_guard_variable): Likewise.
+
+2000-08-27 Jason Merrill <jason@redhat.com>
+
+ * decl.c (pushdecl): Matching decls for local externs are found in
+ the current level. Propagate linkage information from previous
+ declarations.
+
+2000-08-26 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * ir.texi (Expressions): Fix typo.
+
+2000-08-25 Greg McGary <greg@mcgary.org>
+
+ * tree.c (init_tree): Use ARRAY_SIZE.
+
+2000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * error.c (cp_tree_printer): Rework.
+
+2000-08-25 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and
+ dyn-string.o.
+ (CXX_LIB2SRCS): Remove cp-demangle.c and dyn-string.c.
+ (cp-demangle.o): Remove target.
+ (dyn-string.o): Likewise.
+
+ * decl.c (grokfndecl): Require that `main' return an `int'.
+ * mangle.c (write_encoding): Don't mangle return types for
+ conversion functions.
+
+2000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * error.c (tree_formatting_info): New data type.
+ (tree_being_formatted): New macro.
+ (tree_formatting_flags): Likewise.
+ (put_whitespace): Likewise.
+ (print_tree_identifier): Likewise.
+ (print_identifier): Likewise.
+ (cp_tree_printer, print_function_argument_list, print_declaration,
+ print_expression, print_function_declaration,
+ print_function_parameter, print_type, print_cv_qualifier): New
+ functions.
+ (init_error): Initialize lang_printer.
+
+2000-08-24 Jason Merrill <jason@redhat.com>
+
+ * typeck.c (build_ptrmemfunc): Just reinterpret if there's no
+ adjustment necessary.
+
+2000-08-24 Greg McGary <greg@mcgary.org>
+
+ * cp-tree.h (MAIN_NAME_P): Remove macro.
+
+2000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * error.c (print_instantiation_context): Don't forget to flush the
+ buffer.
+
+2000-08-23 Jason Merrill <jason@redhat.com>
+
+ * typeck.c (build_ptrmemfunc): Save the input pmf.
+
+ * method.c (process_modifiers): Use same_type_p.
+
+2000-08-23 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (DECL_CLONED_FUNCTION_P): Check DECL_LANG_SPECIFIC.
+ * mangle.c (write_function_type): Change prototype.
+ (write_encoding): Don't mangle return types for
+ constructors or destructors.
+ (write_type): Adjust call to write_function_type.
+ * pt.c (instantiate_template): Instantiate alternate entry points
+ when instantiating the main function.
+
+2000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * error.c (cp_print_error_function): Don't use embedded '\n' in
+ output_printf.
+
+2000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * decl.c (init_decl_processing): Remove bogus initialization.
+ * error.c (lang_print_error_function): Restore here.
+ (init_error): Initialize print_error_function.
+
+2000-08-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+ * decl2.c (arg_assoc): Revert my 2000-08-11 change.
+
+2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * Makefile.in (error.o): Depends on diagnostic.h
+
+ * cp-tree.h (problematic_instantiation_changed,
+ record_last_problematic_instantiation, current_instantiation,
+ print_instantiation_context): Declare.
+ (maybe_print_template_context): Remove.
+
+ * decl.c (init_decl_processing): Set print_error_function to NULL.
+ (lang_print_error_function): Remove, since we're using a new
+ machinery.
+
+ * error.c: #include diagnostic.h
+ (function_category): New function.
+ (cp_diagnostic_starter): Likewise.
+ (cp_diagnostic_finalizer): Likewise.
+ (cp_print_error_function): Likewise.
+ (maybe_print_instantiation_context): Likewise.
+ (print_instantiation_full_context): Likewise.
+ (print_instantiation_partial_context): Likewise.
+ (print_instantiation_context): Define.
+ (init_error): Initialize diagnostic pager and finalizer.
+
+ * pt.c (problematic_instantiation_changed): Define.
+ (record_last_problematic_instantiation): Likewise.
+ (current_instantiation): Likewise.
+ (maybe_print_template_context): Remove.
+ (print_template_context): Likewise.
+ (current_tinst_level): Make static to reflect Brendan Kehoe's
+ change of 1995-04-13.
+ (push_tinst_level): Call print_instantiation_context.
+
+2000-08-21 Nix <nix@esperi.demon.co.uk>
+
+ * lang-specs.h: Do not process -o or run the assembler if
+ -fsyntax-only.
+
+2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * decl.c (flag_hosted, flag_noniso_default_format_attributes): New
+ variables.
+ * decl2.c (lang_decode_option): Disable gettext attributes for
+ -ansi.
+
2000-08-21 Gabriel Dos Reis <gdr@codesourcery.com>
* lex.c (lang_init_options): Default diagnostic message maximum
* decl.c (member_function_or_else): Use cp_error ... %T.
(grokdeclarator): Likewise.
(start_method): Likewise.
- * friend.c (make_friend_class): Use cp_pedwarn ... %T.
+ * friend.c (make_friend_class): Use cp_pedwarn ... %T.
2000-08-18 Nathan Sidwell <nathan@codesourcery.com>
* decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class
- TYPE_DECLs.
+ TYPE_DECLs.
2000-08-18 Nathan Sidwell <nathan@codesourcery.com>
* class.c (instantiate_type): Reinstate local variable
deleted in previous change.
-
+
* cvt.c (cp_convert_to_pointer): Pass itf_complain, not
itf_no_attributes.
(cp_parse_init): Adjust.
(structsp): Clear and restore current_aggr.
(component_decl_list): Clear current_aggr.
-
+
* error.c (dump_type, case TYPENAME_TYPE): Don't emit the
aggregate tag on the typename's context.
-
+
* pt.c (tsubst_friend_class): Return error_mark_node, if
parms becomes NULL.
(instantiate_class_template): Ignore error_mark_node friend types.
2000-08-14 Nathan Sidwell <nathan@codesourcery.com>
* cvt.c (warn_ref_binding): New static function, broken out of ...
- (convert_to_reference): ... here. Use it.
+ (convert_to_reference): ... here. Use it.
2000-08-11 Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
* cp-tree.h (resolve_scope_to_name): Remove unused prototype.
(lookup_nested_tag): Likewise.
-
+
* decl2.c (grokfield): Fix comment to reflect many types of _DECLs
can be produced.
* rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
runtime.
* cp/tinfo.cc (__dynamic_cast): Likewise.
- * cp/inc/cxxabi.h (__dynamic_cast): Likewise.
+ * cp/inc/cxxabi.h (__dynamic_cast): Likewise.
2000-08-09 Nathan Sidwell <nathan@codesourcery.com>
* cvt.c (convert_to_pointer_force): Fix error message when
- attempting to cast from ambiguous base.
+ attempting to cast from ambiguous base.
2000-08-08 Jason Merrill <jason@redhat.com>
2000-08-04 Zack Weinberg <zack@wolery.cumb.org>
- * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
- * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
- (cc1plus): Link with $(BACKEND) and $(C_OBJS).
+ * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
+ * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
+ (cc1plus): Link with $(BACKEND) and $(C_OBJS).
2000-08-04 Mark Mitchell <mark@codesourcery.com>
(clone_function_decl): Likewise.
* decl2.c (check_classfn): Likewise.
* semantics.c (finish_member_declaration): Likewise.
-
+
2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
* decl.c (flag_isoc94): New variable.
(binfo_for_vtable): Simplify.
* tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
(make_binfo): Make it have 11 entries.
-
+
2000-07-30 Alex Samuel <samuel@codesourcery.com>
* mangle.c (DECL_TEMPLATE_ID_P): Remove.
* decl2.c (finish_decl_parsing): Handle TEMPLATE_ID_EXPR.
- * decl.c (pushdecl): Handle seeing an OVERLOAD in
+ * decl.c (pushdecl): Handle seeing an OVERLOAD in
IDENTIFIER_NAMESPACE_VALUE.
2000-07-16 Mark Mitchell <mark@codesourcery.com>
(initialize_inlined_parameters): Likewise.
(declare_return_variable): Likewise.
(expand_call_inline): Likewise.
-
+
2000-07-10 Jakub Jelinek <jakub@redhat.com>
* semantics.c (expand_body): Sync interface information
* init.c (build_new_1): Bail early if the call to new fails.
- * decl.c (compute_array_index_type): Check specifically for
+ * decl.c (compute_array_index_type): Check specifically for
an INTEGER_CST, not just TREE_CONSTANT.
- * decl.c (duplicate_decls): Don't call duplicate_decls on
+ * decl.c (duplicate_decls): Don't call duplicate_decls on
the DECL_TEMPLATE_RESULT.
(decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
codes.
2000-07-04 scott snyder <snyder@fnal.gov>
Jason Merrill <jason@redhat.com>
- * repo.c (repo_get_id): Handle the case where a class with virtual
+ * repo.c (repo_get_id): Handle the case where a class with virtual
bases has a null TYPE_BINFO_VTABLE.
2000-07-04 Kevin Buhr <buhr@stat.wisc.edu>
* semantics.c (lang_expand_stmt): Changed call to
genrtl_compound_stmt to ignore return value.
-
+
2000-07-02 Mark Mitchell <mark@codesourcery.com>
* mangle.c (canonicalize_for_substitution): Return the canonical
2000-07-01 Benjamin Chelf <chelf@codesourcery.com>
- * Make-lang.in (cc1plus$(exeext)): Added c-semantics.o.
-
+ * Make-lang.in (cc1plus$(exeext)): Added c-semantics.o.
+
* Makefile.in (OBJS): Added ../c-semantics.o.
(OBJDEPS): Likewise.
-
+
* cp-tree.h (TREE_LANG_FLAG_?): Moved common documentation to
../c-common.h.
- (struct stmt_tree): Added comment.
+ (struct stmt_tree): Added comment.
(current_function_name_declared): Removed.
(stmts_are_full_exprs_p): Likewise.
(genrtl_do_pushlevel): Likewise.
(push_cp_function_context): Likewise.
* expect.c (expand_throw): Change reference to
- stmts_are_full_exprs_p.
+ stmts_are_full_exprs_p.
* init.c (build_aggr_init): Change reference to
- stmts_are_full_exprs_p.
+ stmts_are_full_exprs_p.
(build_vec_init): Likewise.
* optimize.c (maybe_clone_body): Change reference to
(genrtl_decl_cleanup): Likewise.
(expand_cond): Likewise.
(expand_stmt): Renamed to ...
- (lang_expand_stmt): ... this.
+ (lang_expand_stmt): ... this.
(lang_expand_expr_stmt): Initialize.
(set_current_function_name_declared): Likewise.
(stmts_are_full_exprs_p): Likewise.
current_function_name_declared().
(setup_vtbl_ptr): Likewise.
(genrtl_do_poplevel): Removed.
-
+
2000-06-30 Jason Merrill <jason@redhat.com>
* init.c (init_init_processing): Go back to aligning like
* parse.y: Move inclusion of lex.h.
* parse.c: Regenerated.
* spew.c: Move inclusion of lex.h.
-
+
* cp-tree.h (struct language_function): Remove temp_name_counter.
(temp_name_counter): Remove.
(get_temp_name): Change prototype.
(do_static_initialization): Replace sentry with guard throughout.
(do_static_destruction): Likewise.
* init.c (create_temporary_var): Add comment.
-
+
2000-06-28 Alex Samuel <samuel@codesourcery.com>
* mangle.c (find_substitution): Use same_type_p.
(build_modify_expr): Likewise.
(get_delta_difference): Likewise.
(build_ptrmemfunc): Likewise.
-
+
2000-06-29 Nathan Sidwell <nathan@codesourcery.com>
* cp-tree.h (SET_DECL_ARTIFICIAL): Remove.
* pt.c (tsubst, case TEMPLATE_TEMPLATE_PARM): Handle cv-qualified
types correctly.
-
+
2000-06-27 Mark Mitchell <mark@codesourcery.com>
* decl.c (grokfndecl): Set DECL_CONTEXT for static functions too.
2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- * search.c (lookup_member): Fix typo in comment.
+ * search.c (lookup_member): Fix typo in comment.
2000-06-24 Jason Merrill <jason@redhat.com>
* decl.c (pushdecl): Also pull out one of the FUNCTION_DECLs from
an old OVERLOAD when we're declaring a non-function.
(pushdecl, destroy_local_var): Check for error_mark_node.
- (warn_extern_redeclared_static): Also bail early if
+ (warn_extern_redeclared_static): Also bail early if
we're a CONST_DECL.
(push_overloaded_decl): Ignore an old error_mark_node.
2000-06-20 Jason Merrill <jason@redhat.com>
- * pt.c (tsubst_decl, case TYPE_DECL): Fix test for TYPE_DECLs
+ * pt.c (tsubst_decl, case TYPE_DECL): Fix test for TYPE_DECLs
for which we don't need to look for instantiations.
2000-06-21 Nathan Sidwell <nathan@codesourcery.com>
(build_x_compound_expr): Likewise.
(check_return_expr): Likewise.
* typeck2.c (add_exception_specifier): Likewise.
-
+
* mangle.c (write_method_parms): Use direct comparison for end
of parmlist.
(genrtl_named_return_value): Likewise.
(genrtl_begin_stmt_expr): Likewise.
(genrtl_finish_stmt_expr): Likewise.
- (finish_for_stmt): Removed first argument and generate rtl
+ (finish_for_stmt): Removed first argument and generate rtl
specific code.
(finish_switch_stmt): Likewise.
(do_poplevel): Removed generate rtl specific code.
(finish_named_return_value): Likewise.
(begin_stmt_expr): Likewise.
(finish_stmt_expr): Likewise.
-
+
* decl.c (initialize_local_var): Changed call to finish_expr_stmt
to call genrtl_expr_stmt when appropriate.
genrtl_expr_stmt when appropriate.
(build_vec_init): Likewise.
- * parse.y (simple_stmt): Removed first argument from call to
- finish_for_stmt. Removed first argument from call to
+ * parse.y (simple_stmt): Removed first argument from call to
+ finish_for_stmt. Removed first argument from call to
finish_switch_stmt.
* parse.c: Regenerated.
- * pt.c (tsubst_expr): Removed first argument from call to
- finish_for_stmt. Removed first argument from call to
+ * pt.c (tsubst_expr): Removed first argument from call to
+ finish_for_stmt. Removed first argument from call to
finish_switch_stmt.
-
+
2000-06-16 Benjamin Chelf <chelf@codesourcery.com>
* cp-tree.h (enum cplus_tree_code): Changed __DUMMY to
* lex.c (cplus_tree_code_type[]): Removed #include "c-common.def".
(cplus_tree_code_length[]): Likewise.
(cplus_tree_code_name[]): Likewise.
- (init_parse): Added call to add_c_tree_codes. Changed
+ (init_parse): Added call to add_c_tree_codes. Changed
LAST_AND_UNUSED_TREE_CODE to LAST_C_TREE_CODE.
-
+
2000-06-16 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (finish_mem_initializers): Declare.
the number of trees.
(n_trees): Remove.
(count_trees): Don't use it.
-
+
2000-06-15 Jason Merrill <jason@redhat.com>
* tree.c (count_trees): New debugging function.
* semantics.c (setup_vtbl_ptr): Don't use current_member_init_list
and current_base_init_list.
(begin_function_definition): Don't call reinit_parse_for_function.
-
+
* dump.c (dequeue_and_dump): Use TREE_VEC_LENGTH with vectors.
* error.c (dump_expr): Handle ADDR_EXPRs with REFERENCE_TYPE
correctly.
-
+
* cp-tree.h (DECL_PENDING_INLINE_P): Relax checking.
2000-06-14 Benjamin Chelf <chelf@codesourcery.com>
* Make-lang.in (CXX_SRCS): Added $(srcdir)/c-common.def.
(cc1plus$(exeext)): Added $(srcdir)/c-common.def.
-
+
* lex.c (cplus_tree_code_type[]): Added '#include "c-common.def"'.
(cplus_tree_code_length[]): Added '#include "c-common.def"'.
(cplus_tree_code_name[]): Added '#include "c-common.def"'.
-
+
2000-06-14 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH): New macro.
used to initialize the parameters more than once.
2000-06-11 Mark Mitchell <mark@codesourcery.com>
-
+
* mangle.c (NESTED_TEMPLATE_MATCH): Fix typo in comment.
(is_std_substitution): Don't check CLASSTYPE_USE_TEMPLATE here.
(find_substitution): Only use the `Sa' substitution for
* class.c (build_vtable): Clarify comment.
(build_ctor_vtbl_group): Pass the most derived type to
build_vtable.
-
+
2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* decl2.c (compare_options): Don't needlessly cast away const-ness.
* decl2.c: Remove #inclusion of diagnostic.h
(lang_decode_option): Move diagnostic formatting options to
- toplevel.
+ toplevel.
* lang-options.h: Remove documentation for diagnostic options.
(grokvardecl): Call mangle_decl for new ABI. Only set mangled
name for fully-instantiated templates.
* decl2.c (grokclassfn): Use set_mangled_name_for_decl for
- destructors with the new ABI.
+ destructors with the new ABI.
(finish_static_data_member_decl): Use mangle_decl under the new ABI.
(grokfield): Use mangle_type for new ABI.
(grokoptypename): Use mangle_conv_op_for_type for new ABI.
(get_tinfo_decl): Call mangle_typeinfo_for_type for new ABI.
(tinfo_base_init): Likewise. Mangle typeinfo string name with
mangle_typeinfo_string_for_type.
-
+
2000-06-03 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (TMPL_ARGS_LEVEL): Clarify comment.
(regenerate_decl_from_template): Tweak formatting. Use
TMPL_ARGS_DEPTH for clarity.
(set_mangled_name_for_template_decl): Use INNERMOST_ARGS.
-
+
* dump.c (dequeue_and_dump): Dump information about thunks.
2000-06-01 Richard Henderson <rth@cygnus.com>
(unsupported_options): New variable
(compare_options): New function.
(lang_decode_option): Use them.
-
+
* decl.c (build_cp_library_fn): Set DECL_CONTEXT.
* method.c (mangle_expression): Adjust test for legal expression
(build_new_method_call): Use DECL_NONSTATIC_MEMBER_FUNCTION_P.
* ir.texi: Update thunk documentation.
-
+
* call.c (joust): Fix handling of overloaded builtin operators.
2000-05-30 Zack Weinberg <zack@wolery.cumb.org>
in the user namespace.
* lex.c (do_identifier): If the identifier's declaration has
DECL_ANTICIPATED on, it has not yet been declared. But do not
- replace it with an ordinary implicit declaration.
+ replace it with an ordinary implicit declaration.
* tinfo2.cc: Include stdlib.h.
(mark_lang_function): Call it.
(use_label): New fn, split out from...
(make_label_decl): ...here. Don't call it.
- (decl_jump_unsafe, check_previous_goto, check_previous_goto_1,
+ (decl_jump_unsafe, check_previous_goto, check_previous_goto_1,
check_previous_gotos): New fns, split out from...
(define_label): ...here.
(check_switch_goto): New fn.
(ptm_initializer): ... here.
(sythesize_tinfo_var): Adjust. Deal with pointer to member
function.
- (create_tinfo_types): Adjust.
+ (create_tinfo_types): Adjust.
2000-05-25 Mark Mitchell <mark@codesourcery.com>
(expand_indirect_vtbls_init): Remove.
* semantics.c (setup_vtbl_ptr): Fix typos in comment.
* tree.c (make_binfo): Make them bigger.
-
+
2000-05-25 Nathan Sidwell <nathan@codesourcery.com>
* inc/cxxabi.h (__pbase_type_info): Define, based on
values to indicate the kind of destruction to be done.
(build_vbase_delete): Likewise.
(build_vec_delete): Likewise.
-
+
* init.c (sort_member_init): Fix typo in error message generation
code.
* ptree.c (print_lang_decl): Adjust.
* typeck.c (build_component_ref): Don't check DECL_LANG_SPECIFIC
before checking DECL_MUTABLE_P.
-
+
* decl2.c (maybe_retrofit_in_chrg): Don't create in-charge
parameters for template functions.
* pt.c (tsubst_decl): Make sure we call maybe_retrofit_in_chrg for
(tsubst_copy): Adjust use of IDENTIFIER_TYPENAME_P.
* semantics.c (finish_member_declaration): Don't mark members of
classes declared in an extern "C" region as extern "C".
-
+
2000-05-22 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* decl2.c (qualified_lookup_using_namespace): Look through
(get_ctor_vtbl_name): New function.
* search.c (dfs_walk_real): Use BINFO_N_BASETYPES.
(init_vbase_pointers): Don't mess with the TREE_CHAIN of a binfo.
-
+
* cp-tree.h (struct lang_type): Remove search_slot.
(CLASSTYPE_SEARCH_SLOT): Remove.
(emit_base_init): Change prototype.
(find_vbase_instance): Use binfo_for_vbase.
(binfo_for_vbase): New function.
* typeck.c (get_delta_difference): Use binfo_for_vbase.
-
+
2000-05-17 Mark Mitchell <mark@codesourcery.com>
* decl2.c (finish_anon_union): Generalize error messages to handle
(expand_member_init): Record the result of name lookup for future
reference.
* typeck.c (build_component_ref): Fix formatting.
-
+
Wed May 17 17:27:44 2000 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
- warn_unused_value.
+ * typeck.c (build_x_compound_expr): Replace warn_unused with
+ warn_unused_value.
* decl2.c (lang_decode_option): Update -Wall unused flags by
- calling set_Wunused.
+ calling set_Wunused.
2000-05-16 Mark Mitchell <mark@codesourcery.com>
(lang_init_options): Set default prefixing rules.
* lang-options.h: Add -fdiagnostics-show-location=.
-
+
* decl2.c: #include diagnostic.h.
(lang_decode_option): Handle -fdiagnostics-show-location=.
* rtti.c (ptmd_initializer): Set non-public, if class is
incomplete.
-
+
* inc/cxxabi.h (__dynamic_cast): Explicitly say extern "C++".
(__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor,
__cxa_vec_delete): Likewise.
set DECL_DESTRUCTOR_P or DECL_CONSTRUCTOR_P on a thunk.
* search.c (covariant_return_p): Remove THUNK_DECL handling.
* ir.texi: Update.
-
+
2000-05-01 Jason Merrill <jason@casey.cygnus.com>
* tree.c (walk_tree): Set lineno.
DECL_RESULT.
(expand_call_inline): Update the pending target_exprs stack.
(optimize_function): Initialize the stack.
-
+
* decl2.c (finish_file): Fix typo in comment.
* method.c (emit_thunk): Don't try to return a `void' value.
(build_reinterpret_cast): Likewise.
(build_c_cast): Likewise.
(convert_for_assignment): Likewise.
-
+
2000-04-26 Jason Merrill <jason@casey.cygnus.com>
* decl.c (finish_function): Don't play games with DECL_INLINE.
2000-04-22 Gabriel Dos Reis <gdr@codesourcery.com>
* ir.texi: Document complex number representation.
-
+
2000-04-20 Nathan Sidwell <nathan@codesourcery.com>
* rtti.c (init_rtti_processing): Set tinfo_var_id in new-abi.
New enumeration.
* inc/typeinfo (type_info::before, type_info::operator==):
Compare __name addresses.
-
+
* tinfo2.cc: Remove new-abi builtins comment.
2000-04-20 Jason Merrill <jason@casey.cygnus.com>
* method.c (make_thunk): Tweak mangling for vcall offset thunks.
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>
* decl2.c (parse_time, varconst_time): Delete declarations.
2000-04-13 Nathan Sidwell <nathan@codesourcery.com>
* class.c (build_base_field): Reformat comment.
-
+
* inc/cxxabi.h (stddef.h): Comment inclusion.
(__base_class_info::__offset): Comment shift.
(build_delete): Use it. Simplify.
* optimize.c (maybe_clone_body): Handle destructors.
* search.c (lookup_field_queue_p): Use IDENTIFIER_CTOR_OR_DTOR_P.
-
+
* exception.cc (cleanup_fn): New typedef.
(CALL_CLEANUP): New macro.
(cp_eh_info): Use them.
(__cp_push_exception): Likewise.
(__cp_pop_exception): Likewise.
-
+
2000-04-11 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (cp_tree_index): Add CPTI_DTOR_IDENTIFIER.
* search.c (lookup_fnfields_1): Use CLASSTYPE_CONSTRUCTOR_SLOT,
CLASSTYPE_DESTRUCTOR_SLOT, and CLASSTYPE_FIRST_CONVERSION_SLOT.
* semantics.c (expand_body): Clone function bodies as necessary.
-
+
* optimize.c (remap_decl): Avoid sharing structure for arrays
whose size is only known at run-time.
* tree.c (copy_tree_r): Don't copy PARM_DECLs.
* pt.c (instantiate_template): Remove goto.
* tree.c (build_cplus_method_type): Remove mention of obstacks in
comment.
-
+
* cp-tre.h (finish_function): Change prototype.
* decl.c (end_cleanup_fn): Adjust caller.
(finish_function): Take only one parameter.
* lex.c (copy_decl): Define it.
* pt.c (tsubst_decl): Likewise.
* tree.c (copy_template_template_parm): Likewise.
-
+
* cp-tree.h (lang_type): Remove has_nonpublic_ctor and
has_nonpublic_assign_ref.
(TYPE_HAS_NONPUBLIC_CTOR): Don't declare.
* decl.c (check_tag_decl): Notice extra fundamental types.
Diagnose empty decls in classes, too.
- * decl.c (grokdeclarator): Don't override an anonymous name if no
+ * decl.c (grokdeclarator): Don't override an anonymous name if no
declarator was given.
* cvt.c (convert_to_void): Call resolve_offset_ref.
specific catch checking. Fix void conversion check.
(__pointer_to_member_type_info::__do_catch): Remove.
(__pointer_to_member_type_info::__pointer_catch): Implement.
-
+
2000-04-10 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* lex.c (init_parse): Remove traces of classof and headof.
* pt.c (tsubst_decl): Likewise.
* ptree.c (print_lang_decl): Don't print it.
* typeck.c (mark_addressable): Don't use it.
-
+
2000-04-09 Nathan Sidwell <nathan@codesourcery.com>
* vec.cc: Include <new> and <exception>.
__class_type_info::__dyncast_result): Move from inc/cxxabi.h.
Adjust.
(__class_type_info::find_public_src): Prepend __. Adjust.
- (__class_type_info::do_find_public_src,
- __si_class_type_info::do_find_public_src,
+ (__class_type_info::do_find_public_src,
+ __si_class_type_info::do_find_public_src,
__vmi_class_type_info::do_find_public_src): Likewise.
(__class_type_info::do_dyncast,
__si_class_type_info::do_dyncast,
* typeck.c (build_static_cast): Use complete_ctor_identifier.
(build_modify_expr): Likewise.
* typeck2.c (build_functional_cast): Likewise.
-
+
Under the new ABI, constructors don't return `this'.
* cp-tree.h (warn_reorder): Declare.
(special_function_kind): New enum.
of emit_base_init.
* typeck.c (check_return_expr): Don't magically convert return
statements into `return this' in constructors under the new ABI.
-
+
* cp-tree.h (cp_tree_index): Add CPTI_BASE_CTOR_IDENTIFIER,
CPTI_BASE_DTOR_IDENTIFIER, and CPTI_DELETING_DTOR_IDENTIFIER.
(base_ctor_identifier): New macro.
(build_delete): Use CLASSTYPE_N_BASECLASSES.
* search.c (init_search_processing): Don't initialize
vptr_identifier.
-
+
2000-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to elide
(__vmi_class_type_info::do_find_public_src): Adjust.
(__vmi_class_type_info::do_dyncast): Adjust.
(__vmi_class_type_info::do_upcast): Adjust.
-
+
2000-04-07 Nathan Sidwell <nathan@codesourcery.com>
* tinfo.cc (convert_to_base): New function.
(DECL_SAVED_INLINE): Rename to ...
(DECL_DEFERRED_FN): ... this.
(in_function_p): Remove declaration.
- (mark_inline_for_output): Rename to ...
+ (mark_inline_for_output): Rename to ...
(defer_fn): ... this.
* decl.c (finish_function): Adjust call to mark_inline_for_output.
(in_function_p): Remove definition.
* Makefile.in (GGC_H): New variable. Use it throughout in place
of ggc.h.
-
+
* call.c: Don't include obstack.h. Include ggc.h.
(obstack_chunk_alloc): Don't define.
(obstack_chunk_free): Likewise.
(__vmi_class_type_info::do_find_public_src): Use it.
(__vmi_class_type_info::do_dyncast): Likewise.
(__vmi_class_type_info::do_upcast): Likewise.
-
+
2000-04-03 Zack Weinberg <zack@wolery.cumb.org>
* lang-specs.h: Pass -fno-show-column to the preprocessor.
* tree.c (debug_binfo): Likewise.
* 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>
* class.c (check_field_decl): Fix typo.
(resolve_overloaded_unification, more_specialized): Likewise.
* semantics.c (finish_member_declaration): Likewise.
* typeck.c (build_x_function_call): Likewise.
-
+
2000-03-26 Mark Mitchell <mark@codesourcery.com>
* class.c (layout_empty_base): Handle empty bases with non-byte
(layout_virtual_bases): Likewise.
* class.c (finish_struct_1): Fix typo in this change:
-
+
Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2000-03-25 Mark Mitchell <mark@codesourcery.com>
keeping track of how many template classes have been seen.
* dump.c (dequeue_and_dump): Dump DECL_TEMPLATE_RESULT.
-
+
Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (build_vbase_pointer_fields): layout_field now place_field.
* rtti.c (expand_class_desc): Use bitsize_one_node.
* typeck.c (build_component_addr): Use byte_position and don't
special case for zero offset.
-
+
2000-03-24 Nathan Sidwell <nathan@codesourcery.com>
* decl.c (vtype_decl_p): Use TYPE_POLYMORPHIC_P.
-
+
* rtti.c (get_tinfo_decl): Set comdat linkage on new-abi
tinfo object.
(emit_tinfo_decl): Only emit polymorphic tinfo's when emitting
* search.c (lookup_field_1): Likewise.
* tree.c (walk_tree, get_type_decl, cp_tree_equal, member_p): Likewise.
* xref.c (classname): Likewise.
-
+
2000-03-22 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (BINFO_FOR_VBASE): Adjust documentation.
(dfs_find_vbases): Adjust usage of BINFO_NEW_VTABLE_MARKED.
(dfs_clear_vbase_slots): Likewise.
(init_vbase_pointers): LIkewise.
-
+
2000-03-22 Jason Merrill <jason@casey.cygnus.com>
* typeck.c (type_after_usual_arithmetic_conversions): Prefer a
* class.c (layout_virtual_bases): Adjust names in conditionally
compiled code.
-
+
* class.c (record_base_offsets): New function.
(layout_conflict_p): Likewise.
(layout_nonempty_base_or_field): Use it.
* cp-tree.h (CLASSTYPE_VBASECLASSES): Fix typo in comment.
(fntype_p): Remove.
* search.c (dfs_skip_nonprimary_vbases_unmarkedp): Fix typo in
- comment.
+ comment.
(dfs_skip_nonprimary_vbases_markedp): Likewise.
* typeck.c (fntype_p): Remove.
* init.c (build_offset_ref): Handle the case of a templated member
function.
-
+
2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* except.c (expand_exception_blocks): Clear catch_clauses_last.
when dereferencing them under the new ABI.
* typeck.c (get_member_function_from_ptrfunc): Tweak calculation
of pointers-to-members under the new ABI.
-
+
* class.c (check_bitfield_decl): Remove restriction on really long
bitfields.
(layout_class_type): Implement new ABI handling of bitfields
host_integerp, and tree_low_cst.
(pointer_int_sum): Use integer_zerop.
(build_component_addr): Use bit_position.
-
+
2000-03-17 Nathan Sidwell <nathan@codesourcery.com>
* typeck.c (require_complete_type): Don't assume size_zero_node.
2000-03-15 Nathan Sidwell <nathan@codesourcery.com>
* decl.c (cp_finish_decl): Remove obsolete comment.
-
+
* typeck.c (build_ptrmemfunc1): Kill uninitialized warning.
2000-03-14 Mark Mitchell <mark@codesourcery.com>
(tsubst_decl): Fix typo in code contained in comment.
(instantiate_template): Handle member template specializations.
(most_general_template): Likewise.
-
+
2000-03-11 Gabriel Dos Reis <gdr@codesourcery.com>
* lex.c (whitespace_cr): Compress consecutive calls to warning().
(nothrow_libfn_p): New fn.
* decl.c (grokfndecl): Use it.
* cp-tree.h: Declare it.
-
- * decl.c (push_overloaded_decl_1, auto_function,
+
+ * decl.c (push_overloaded_decl_1, auto_function,
define_function): Lose.
(build_library_fn_1): New static fn.
(builtin_function): Use it.
* except.c (init_exception_processing, call_eh_info, do_pop_exception,
(expand_end_eh_spec, alloc_eh_object, expand_throw): Use above fns.
* rtti.c (build_runtime_decl): Lose.
- (throw_bad_cast, throw_bad_typeid, get_tinfo_decl,
+ (throw_bad_cast, throw_bad_typeid, get_tinfo_decl,
build_dynamic_cast_1, expand_si_desc, expand_class_desc,
expand_ptr_desc, expand_attr_desc, expand_generic_desc): Use above fns.
* typeck.c (convert_for_assignment): Don't look at array
initializer.
- * call.c (convert_like_real): Likewise.
+ * call.c (convert_like_real): Likewise.
2000-03-07 Jason Merrill <jason@casey.cygnus.com>
(utf8_extend_token): New fn, #if 0'd out.
(real_yylex): Treat extended chars like letters.
- * search.c (note_debug_info_needed): Walk the bases even if we
+ * search.c (note_debug_info_needed): Walk the bases even if we
weren't deferring the type itself.
2000-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG a little
later.
-
+
* dump.c (dequeue_and_dump): Dump SCOPE_NO_CLEANUPS_P.
2000-03-05 Nathan Sidwell <nathan@codesourcery.com>
* call.c (convert_like): Macrofy.
(convert_like_with_context): New macro.
(convert_like_real): Renamed from convert_like. Add calling
- context parameters, for diagnostics. Add recursive flag. Call
+ context parameters, for diagnostics. Add recursive flag. Call
dubious_conversion_warnings for outer conversion.
(build_user_type_conversion): Use convert_like_with_context.
(build_over_call): Likewise. Don't warn about dubious
(dubious_conversion_warnings): Prototype new function.
* typeck.c (convert_arguments): Adjust convert_default_arg call.
(dubious_conversion_warnings): New function, broken
- out of convert_for_assignment.
+ out of convert_for_assignment.
(convert_for_assignment): Adjust.
2000-03-03 Jason Merrill <jason@casey.cygnus.com>
* decl.c (finish_function): Don't mess with flag_keep_inline_functions.
* decl2.c (finish_vtable_vardecl): Don't check decl_function_context.
- * search.c (note_debug_info_needed, dfs_debug_mark,
+ * search.c (note_debug_info_needed, dfs_debug_mark,
dfs_debug_unmarkedp): Uncomment. Adjust for new scheme.
* decl2.c (finish_vtable_vardecl): Call note_debug_info_needed.
(build_cplus_array_test_1): Likewise.
(cp_build_qualified_type_real): Likewise.
* typeck.c (complete_type): Likewise.
-
+
* g++spec.c (lang_specific_driver): Add -fnew-abi at the start of
the command-line, not the end.
-
+
2000-03-01 Jason Merrill <jason@casey.cygnus.com>
* pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG.
* call.c (add_function_candidate): Add ctype parm; if non-zero,
override the type of 'this' accordingly.
(add_template_candidate, add_template_candidate_real): Add ctype parm.
- (convert_class_to_reference, build_user_type_conversion_1,
+ (convert_class_to_reference, build_user_type_conversion_1,
build_new_function_call, build_object_call, build_new_op,
build_new_method_call): Pass ctype parm.
* search.c (lookup_member): Put rval_binfo, not basetype_path, in
the baselink.
- * call.c (convert_class_to_reference, build_user_type_conversion_1,
+ * call.c (convert_class_to_reference, build_user_type_conversion_1,
build_new_function_call, build_object_call, build_new_op,
build_new_method_call, build_op_delete_call): Don't get basetype_path
from a baselink.
* typeck.c (build_component_ref): Likewise.
* init.c (build_offset_ref): Likewise.
- (resolve_offset_ref): Don't call enforce_access.
+ (resolve_offset_ref): Don't call enforce_access.
Call build_scoped_ref.
* typeck2.c (build_scoped_ref): Simplify. Do nothing if it
would cause an error or if -pedantic.
EXPR_WITH_FILE_LOCATION.
* 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>
* lang-options.h (-fmessage-length=): Add missing option.
* parse.c: Regenerated.
* Makefile.in (lex.o): Depend on input.h.
(optimize.o): Likewise.
-
+
2000-02-24 Nathan Sidwell <nathan@codesourcery.com>
* decl.c (grokdeclarator): Diagnose qualifiers on non-member
(parse_float, real_yylex): Likewise.
* parse.y (paren_expr_or_null, paren_cond_or_null): Likewise.
(unary_expr, new_initializer, cast_expr, primary, primary_no_id,
- new_type_id, maybe_label_decls, simple_stmt,
+ new_type_id, maybe_label_decls, simple_stmt,
for.init.statement): Likewise.
* pt.c (do_decl_instantiation, do_type_instantiation): Likewise.
* semantics.c (finish_named_return_value): Likewise.
(expand_ptrmemfunc_cst): Likewise.
(delta2_from_ptrmemfunc): Assert that we're not using the new ABI.
(pfn_from_ptrmemfunc): Adjust for the new ABI.
-
+
2000-02-21 Gabriel Dos Reis <gdr@codesourcery.com>
* call.c (build_object_call): Compress consecutive calls to
(build_op_delete_call): Adjust message formatting.
* class.c (check_bases): Compress consecutive calls to
- cp_pedwarn.
+ cp_pedwarn.
(finish_struct_anon): Say 'ISO C++'.
* decl.c (start_decl): Same here.
(check_static_variable_definition): Likewise. Say 'ISO C++'
(compute_array_index_type): Say 'ISO C++'
(create_array_type_for_decl): Compress consecutive calls to
- cp_error.
+ cp_error.
(grokdeclarator): Say 'ISO C++'
(grok_op_properties): Likewise.
* expr.c (do_case): Say 'ISO C++'
* friend.c (do_friend): Compress consecutive calls to warning.
-
+
2000-02-20 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (merge_primary_and_secondary_vtables_p): New macro.
(build_secondary_vtable): ... here.
* pt.c (tsubst_decl): Fix formatting.
-
+
Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* class.c (build_primary_vtable, layout_vtable_decl): Likewise.
(avoid_overlap, build_base_field): Likewise.
- (build_base_field, build_base_fields, is_empty_class):
+ (build_base_field, build_base_fields, is_empty_class):
Test DECL_SIZE with integer_zero.
(layout_class_type): Set CLASSTYPE_SIZE_UNIT.
* cp-tree.h (struct lang_type): New field size_unit.
functions.
(build_vtbl_initializer): Adjust accordingly.
(get_vtable_decl): Fix formatting.
-
+
2000-02-18 Jason Merrill <jason@casey.cygnus.com>
* semantics.c (deferred_type_access_control): Walk the entire
type_lookups list.
- (save_type_access_control): Rename from
+ (save_type_access_control): Rename from
initial_deferred_type_access_control. Just remember the value.
(decl_type_access_control): New fn.
(begin_function_definition): Use deferred_type_access_control, after
(notype_component_declarator): Likewise.
* cp-tree.h: Adjust.
- * decl.c (redeclaration_error_message): Allow redeclaration of
+ * decl.c (redeclaration_error_message): Allow redeclaration of
namespace-scope decls.
2000-02-18 Martin von Loewis <loewis@informatik.hu-berlin.de>
(is_member_template): Use decl_function_context, not
hack_decl_function_context. Use DECL_CONTEXT, not
DECL_CLASS_CONTEXT.
- (build_template_decl): Set DECL_VIRTUAL_CONTEXT, not
+ (build_template_decl): Set DECL_VIRTUAL_CONTEXT, not
DECL_CLASS_CONTEXT.
(check_default_tmpl_args): Use CP_DECL_CONTEXT, not
DECL_REAL_CONTEXT.
* typeck.c (build_x_function_call): Use DECL_CONTEXT, not
DECL_CLASS_CONTEXT.
* typeck2.c (error_not_base_type): Likewise.
-
+
2000-02-15 Jason Merrill <jason@casey.cygnus.com>
* decl.c (xref_tag): Don't SET_IDENTIFIER_NAMESPACE_VALUE.
(struct saved_scope): Add lookups field.
(type_lookups): New macro.
* parse.y (declmods): Now <ftype>.
- (parse_decl): Add lookups parm. Call
+ (parse_decl): Add lookups parm. Call
initial_deferred_type_access_control.
(lang_extdef): Clear type_lookups.
(typed_declspecs, declmods, typespec): Set lookups field.
unreal chilren of virtual bases.
(finish_struct_1): Don't use merge_overrides. Don't use
dfs_fixup_vtable_deltas.
- * tree.c (reverse_path): Return a TREE_LIST, not a chain of
+ * tree.c (reverse_path): Return a TREE_LIST, not a chain of
BINFOs.
-
+
2000-01-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
Jason Merrill <jason@yorick.cygnus.com>
(type_info::is_pointer_p, type_info::is_function_p): Declare
new virtual functions.
(type_info::do_catch, type_info::do_upcast): Likewise.
-
+
* tinfo.h (__base_class_info): Define new class.
(__class_type_info): Likewise.
(__si_class_type_info): Likewise.
(__vmi_class_type_info): Likewise.
(__dynamic_cast): Prototype.
-
+
* tinfo.cc: Conditionalize old and new rtti mechanisms.
(type_info::is_pointer_p): Define new function.
(type_info::is_function_p): Likewise.
(__si_class_type_info::do_upcast): Likewise.
(__vmi_class_type_info::do_upcast): Likewise.
(__dynamic_cast): Likewise.
-
+
* tinfo2.cc (__fundamental_type_info): Define new class.
(__pointer_type_info): Likewise.
(__reference_type_info): Likewise.
(__ptr_to_member_type_info::~__ptr_to_member_type_info): Likewise.
(__pointer_type_info::do_catch): Define new function.
(__ptr_to_member_type_info::do_catch): Define new function.
-
+
(__throw_type_match_rtti_2): Use new ABI interface, if enabled.
(__is_pointer): Likewise.
(override_one_vtable): Use build_secondary_vtable.
(finish_struct_1): Use build_primary_vtable and
build_secondary_vtable.
-
+
2000-01-28 Ulrich Drepper <drepper@redhat.com>
* cp/decl.c: Adjust variable names, comments, help strings.
and BF_FN.
(modify_one_vtable): Simplify.
(dfs_fixup_vtable_deltas): Likewise.
- (override_one_vtable): Use BF_DELTA, BF_VCALL_INDEX, BF_FN.
+ (override_one_vtable): Use BF_DELTA, BF_VCALL_INDEX, BF_FN.
* method.c (make_thunk): Handle vcall indices.
-
+
2000-01-28 Nathan Sidwell <sidwell@codesourcery.com>
Compiler side new abi rtti (not enabled).
(dfs_finish_vtabls): Use layout_vtable_decl.
(modify_one_vtables): Always duplicate vtables under the new ABI.
(finish_struct_1): Use layout_vtable_decl.
-
+
2000-01-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* decl.c (member_function_or_else): Change third arg from a format
* typeck.c (composite_pointer_type, c_sizeof, expr_sizeof,
build_binary_op_nodefault, build_unary_op, build_reinterpret_cast,
build_const_cast, get_delta_difference, check_return_expr): Avoid
- ANSI string concatenation usage.
+ ANSI string concatenation usage.
2000-01-24 Mark Mitchell <mark@codesourcery.com>
* typeck.c (convert_arguments): Restore two-message error
reporting.
-
+
2000-01-20 Nathan Sidwell <sidwell@codesourcery.com>
Remap dynamic cast hint values to be consistent across ABIs.
* tinfo.cc (__si_type_info::do_dyncast): Remap BOFF meaning.
(__class_type_info::do_dyncast): Likewise.
(__class_type_info::do_find_public_subobj): Likewise.
- * tinfo2.cc (__dynamic_cast): Remap BOFF parameter.
+ * tinfo2.cc (__dynamic_cast): Remap BOFF parameter.
2000-01-19 Gabriel Dos Reis <gdr@codesourcery.com>
* typeck2.c (incomplete_type_error): Restore previous
cp_error and cp_error_at call sequence.
-
+
2000-01-20 Brad Lucier <lucier@math.purdue.edu>
* class.c (dump_class_hierarchy): Make format agree with argument;
cast pointer to unsigned long and print with %lx.
-
+
2000-01-19 Gabriel Dos Reis <gdr@codesourcery.com>
* decl2.c (lang_decode_option): Set default line-wrap length to 72.
-
+
* typeck.c (composite_pointer_type, common_type,
comp_target_parms, c_sizeof, expr_sizeof, build_array_ref,
build_function_call_real, convert_arguments,
build_unary_op, mark_addressable, build_compound_expr,
build_static_cast, build_reinterpret_cast, build_const_cast,
build_c_cast, build_modify_expr, get_delta_difference,
- build_ptrmemfunc, check_return_expr): Replace 'ANSI C++' with
+ build_ptrmemfunc, check_return_expr): Replace 'ANSI C++' with
'ISO C++'. Fusion consecutive calls to diagnotic message routines
into a single one.
* typeck2.c (readonly_error, abstract_virtuals_error,
(finish_struct_1): Adjust call to modify_all_vtables. Add
overridden functions from non-primary bases to the vtable.
* tree.c (build_shared_int_cst): New function.
-
+
* cp-tree.h (scratchalloc): Remove.
(build_scratch_list): Likewise.
* call.c (convert_class_to_reference): Replace build_scratch_list
* typeck.c (build_x_compound_expr): Likewise.
(build_static_cast): Likewise.
(build_modify_expr): Likewise.
-
+
* cp-tree.h (DECL_VINDEX): Add documentation.
* class.c (build_vtable_entry): Likewise.
(start_vtable): Add comment.
(create_vtbl_ptr): Likewise.
(layout_class_type): Likewise.
(finish_struct_1): Likewise. Add comments.
-
+
2000-01-16 Mark Mitchell <mark@codesourcery.com>
* class.c (finish_struct_1): Replace redundant code with
(build_vbase_offset_vtbl_entries): Simplify.
(build_vbase_offset_vtbl_entries): Adjust.
(build_vbase_pointer): Add ability to look up vbase offsets in
- vtable.
+ vtable.
(start_vtable): New function.
(add_virtual_function): Use it.
(determine_primary_base): Use TYPE_CONTAINS_VPTR_P.
* search.c (dfs_walk_real): Make it global.
(dfs_debug_mark): Use TYPE_CONTAINS_VPTR_P.
* tree.c (make_binfo): Don't clear BINFO_VPTR_FIELD.
-
+
* tinfo.h (USItype): Make it signed under the new ABI.
* tinfo.cc (convert_to_base): New function. Encapsulate base
conversion logic here.
(__class_type_info::do_upcast): Use it.
(__class_type_info::do_dyncast): Likewise.
(__class_type_info::do_find_public_subobj): Likewise.
-
+
* init.c (construct_virtual_bases): Don't look up the addresses of
virtual bases at run-time.
(dfs_vtable_path_unmarked_real_bases_queue_p): New function.
(dfs_vtable_path_marked_real_bases_queue_p): New function.
(dfs_vtable_path_unmark): Likewise.
-
+
2000-01-14 Mark Mitchell <mark@codesourcery.com>
* optimize.c (copy_body_r): Clear the operand three of a
* pt.c (tsubst_friend_function): Improve comment.
(instantiate_decl): Avoid crashing when a "nested" function is
instantiated from the top level.
-
+
* dump.c (dqeueue_and_dump): Dump
DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION.
* parse.c: Regenerated.
* pt.c (finish_member_template_decl): Likewise.
* typeck.c (decay_conversion): Likewise.
-
+
* cp-tree.h (dfs_skip_vbases): New function.
(find_vbase_instance): Likewise.
* class.c (determine_primary_base): Allow a nearly empty base to
(fixup_all_virtual_upcast_offsets): Likewise.
(dfs_find_vbase_instances): New function.
(find_vbase_instance): Likewise.
-
+
2000-01-11 Mumit Khan <khan@xraylith.wisc.edu>
* lex.c (DIR_SEPARATOR): Delete macro.
2000-01-12 Gabriel Dos Reis <gdr@codesourcery.com>
-
+
* decl2.c (lang_decode_option): Handle automatic line wrapping
option.
-
+
2000-01-11 Mark Mitchell <mark@codesourcery.com>
* friend.c (do_friend): Don't resolve scopes when processing
(layout_basetypes): Don't call propagate_binfo_offsets.
* search.c (dfs_get_vbase_types): Clone completely fresh binfos
for the vbases.
-
+
* class.c (build_base_field): New function, split out from ...
(build_base_fields): ... here. Use it. Allocate primary bases
first, under the new ABI.
(remove_base_field): New function, split out from ...
(remove_base_fields): ... here. Adjust since primary bases come
first under the new ABI.
-
+
* cp-tree.h (expand_direct_vtbls_init): Remove declaration.
(initialize_vtbl_ptrs): New function.
(expand_indirect_vtbls_init): Change prototype.
* search.c (convert_pointer_to_vbase): Make it global.
(expand_indirect_vtbls_init): Remove vtable initialization code.
* semantics.c (setup_vtbl_ptr): Use initialize_vtbl_ptrs.
-
+
* class.c (dfs_finish_vtbls): New function.
(finish_vtbls): Use it.
(dump_class_hierarchy): New function.
-
+
* cp-tree.h (BINFO_PRIMARY_MARKED_P): Change definition.
(BINFO_VBASE_PRIMARY_P): New macro.
(BINFO_VIRTUALS): Add to documentation.
(dfs_marked_real_bases_queue_p): Likewise.
(dfs_get_pure_virtuals): Simplify.
(get_pure_virtuals): Likewise.
-
+
2000-01-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* lex.c: Include tm_p.h.
* decl2.c (comdat_linkage): Don't set DECL_DEFER_OUTPUT.
* pt.c (instantiate_decl): Defer comdat templates that might not be
needed.
-
+
* cp-tree.h (DECL_NEEDED_P): Also true if !DECL_COMDAT.
* decl2.c (finish_vtable_vardecl): Don't check !DECL_COMDAT.
(finish_file): Likewise.
or unshare_base_binfos for virtual bases here.
* search.c (dfs_get_vbase_types): Do it here.
(get_vbase_types): Adjust.
-
+
2000-01-02 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (CLASSTYPE_VFIELDS): Move definition.
are no base classes. Call mark_primary_bases here.
(modify_all_direct_vtables): Remove.
(modify_all_indirect_vtables): Remove.
- (dfs_modify_vtables_queue_p): New function.
+ (dfs_modify_vtables_queue_p): New function.
(dfs_modify_vtables): New function.
(modify_all_vtables): Use them.
(build_base_fields): Build FIELD_DECLs for primary virtual base
* tree.c (CEIL): Remove.
(propagate_binfo_offsets): Remove.
(layout_basetypes): Remove.
-
+
2000-01-01 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
(dfs_unmark_primary_bases): Likewise.
(unmark_primary_bases): Likewise.
(dfs_get_pure_virtuals): Likewise.
-
+
2000-01-01 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (skip_rtti_stuff): Adjust prototype.
(get_pure_virtuals): Likewise.
(expand_upcast_fixups): Likewise.
* tree.c (debug_binfo): Likewise.
-
+
* class.c (build_vtable): Don't return a value. Don't rebuild
vtables for bases that have already been handled.
(prepare_fresh_vtable): Don't rebuild vtables for bases that have
2000-01-01 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* call.c (build_new_method_call): Also check destructors.
-