]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
Change base class access representation.
[gcc.git] / gcc / ChangeLog
index 405b081e432b56740f5e5744aca71a91cca5de61..9a3464e924a586756ff387e658db334b4b70fbf3 100644 (file)
@@ -1,3 +1,275 @@
+2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       Change base class access representation.
+       * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
+       TREE_VIA_PRIVATE): Remove.
+       (BINFO_BASEACCESSES): New binfo elt.
+       (BINFO_BASEACCESS): New accessor.
+       (BINFO_ELTS): Increase.
+       (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
+       (access_public_node, access_protected_node,
+       access_private_node): New global nodes.
+       * tree.c (build_common_tree_nodes_2): Initialize access nodes.
+       * dbxout.c (dbxout_type): Adjust.
+       * dwarf2out.c (gen_inheritance_die): Add access parameter.
+       (gen_member_die): Adjust.
+       * dwarfout.c (output_inheritance_die): ARG is array of two trees.
+       (output_type): Adjust.
+       * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
+
+       Change base class access representation. Share virtual base
+       binfos.
+       * cp/call.c (build_special_member_call): Remove binfo_for_vbase
+       call.
+       * cp/class.c (build_base_path): Likewise.
+       (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
+       (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
+       (make_new_vtable): Adjust.
+       (force_canonical_binfo_r): Delete.
+       (force_canonical_binfo): Delete.
+       (mark_primary_virtual_base): Delete.
+       (dfs_unshared_virtual_bases): Delete.
+       (mark_primary_bases): Adjust.
+       (maybe_warn_about_overly_private_class): Adjust.
+       (dfs_base_derived_from): Delete.
+       (base_derived_from): Follow the inheritance chain.
+       (struct find_final_overrider_data): Add vpath member.
+       (dfs_find_final_overrider): Adjust.
+       (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
+       (find_final_overrider): Adjust.
+       (update_vtable_entry_for_fn): Adjust.
+       (modify_all_vtables): Adjust.
+       (walk_subobject_offsets): Adjust.
+       (layout_nonempty_base_or_field): Adjust.
+       (layout_empty_base): Remove last parameter. Adjust.
+       (build_base_field): Adjust.
+       (build_base_fields): Adjust.
+       (propagate_binfo_offsets): Remove last parameter. Adjust.
+       (dfs_set_offset_for_unshared_vbases): Delete.
+       (layout_virtual_bases): Adjust.
+       (finish_struct_1): Adjust.
+       (init_class_processing): Don't init access nodes.
+       (dfs_get_primary_binfo): Delete.
+       (get_primary_binfo): Adjust.
+       (dump_class_hierarchy_r): Remove most derived arg, add IGO
+       parameter. Adjust.
+       (dump_class_hierarchy): Adjust.
+       (finish_vtbls): Adjust.
+       (get_original_base): Delete.
+       (build_vtt_inits): Adjust.
+       (dfs_build_secondary_vptr_vtt_inits): Adjust.
+       (dfs_ctor_vtable_bases_queue_p): Adjust.
+       (build_ctor_vtbl_group): Adjust.
+       (dfs_accumulate_vtbl_inits): Adjust.
+       (build_vtbl_initializer): Adjust.
+       (build_vbase_offset_vtbl_entries): Adjust.
+       (add_vcall_offset_vtbl_entries_1): Adjust.
+       * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
+       (access_*_node): Remove.
+       (CANONICAL_BINFO): Delete.
+       (BINFO_UNSHARED_MARKED): Remove.
+       (BINFO_MARKED): Set LANG_FLAG_0 directly.
+       (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
+       (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
+       (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
+       Delete.
+       (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
+       (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
+       (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
+       Delete.
+       (BINFO_DEPENDENT_BASE_P): New.
+       (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
+       index.
+       (markedp, unmarkedp): Adjust.
+       (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
+       dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
+       find_vbase_instance, binfo_for_vbase): Delete.
+       (copied_binfo, original_binfo): Declare.
+       (finish_base_specifier): Add virtual_p arg.
+       (unshare_base_binfos): Delete.
+       (copy_base_binfos): Declare.
+       (reverse_path): Delete.
+       * cp/decl.c (xref_basetypes): Access and virtuality passed
+       differently. Don't copy direct base binfos here. Call
+       copy_base_binfos.
+       * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
+       (initialize_vtbl_ptrs): Adjust.
+       (expand_member_init): Adjust.
+       * cp/parser.c (cp_parser_base_specifier): Adjust.
+       * cp/pt.c (instantiate_class_template): Adjust.
+       (get_template_base_recursive): Adjust.
+       * cp/rtti.c (get_pseudo_ti_init): Adjust.
+       (get_pseudo_ti_desc): Adjust.
+       * cp/tree.c (unshare_base_binfos): Rename to ...
+       (copy_base_binfos): ... here, reimplement.
+       (make_binfo): Set BINFO_DEPENDENT_BASE_P.
+       (reverse_path): Remove.
+       * cp/typeck.c (get_delta_difference): Adjust error messages.
+       * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
+       * cp/search.c (lookup_base_r): Adjust.
+       (dynamic_cast_base_recurse): Adjust.
+       (canonical_binfo): Remove.
+       (dfs_canonical_queue): Remove.
+       (dfs_assert_unmarked_p): Remove.
+       (assert_canonical_unmarked): Remove.
+       (shared_marked_p, shared_unmarked_p): Remove.
+       (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
+       (dfs_access_in_type): Adjust.
+       (access_in_type): Adjust.
+       (dfs_accessible_queue_p): Adjust.
+       (dfs_accessible_p): Adjust.
+       (is_subobject_of_p_1, is_subobject_of_p): Remove.
+       (struct lookup_field_info): Remove from_dep_base_p field.
+       (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
+       (lookup_field_r): Remove dependent base code.
+       (lookup_member): Likewise.
+       (dfs_walk, dfs_walk_real): Add access arg to queue fn.
+       (dfs_unmarked_real_bases_queue_p): Remove.
+       (dfs_marked_real_bases_queue_p): Remove.
+       (dfs_skip_vbases): Remove.
+       (dfs_get_pure_virtuals): Adjust.
+       (markedp, unmarkedp): Adjust.
+       (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
+       (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
+       (dfs_unmark): Adjust.
+       (dfs_get_vbase_types):Remove.
+       (dfs_build_inheritance_graph_order): Remove.
+       (get_vbase_types): Remove
+       (dfs_find_vbase_instance): Remove.
+       (find_vbase_instance): Remove.
+       (dfs_debug_unmarkedp): Adjust.
+       (dependent_base_p): Remove.
+       (dfs_push_type_decls): Adjust.
+       (dfs_push_decls): Adjust.
+       (dfs_no_overlap_yet): Adjust.
+       (copied_binfo): New function.
+       (original_binfo): New function.
+       (binfo_for_vbase): Remove.
+
+       Change base class access representation.
+       * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
+       (add_interface_do): Likewise.
+
+2003-02-20  David Edelsohn  <edelsohn@gnu.org>
+
+        * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+        * config/rs6000/power4.md (power4-store,power4-vecstore): New
+       insn reservations.
+       (power4-fpstore): Compact.
+
+2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*iorsi3_w): New.
+
+2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
+
+       * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
+       * rtl.c (reg_note_name): Likewise.
+       * rtl.h (enum reg_note): Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/rtl.texi: Likewise.
+
+2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
+
+       * bb-reorder.c (find_traces_1_round): Fix comment typo.
+
+2003-02-19  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
+       addition in the presence of signaling NaNs.
+
+2003-02-19  Krister Walfridsson  <cato@df.lth.se>
+
+       * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
+
+2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (output_logical_op): Optimize or.l when
+       ORing with 0xffff??00 with the highest bit of the ?? part set.
+       (compute_logical_op_length): Update.
+       (compute_logical_op_cc): Likewise.
+
+2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
+
+       * bb-reorder.c (find_traces_1_round): Fixed condition for small
+       destination block with multiple predecessors.
+       (connect_traces): Check whether the block is a start of trace.
+
+Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
+       * function.c (assign_params): Likewise.
+       * arm-protos.h (arm_init_cumulative_args): Update prototype.
+       * arm.c (arm_init_cumulative_args): Update function.
+       * arm.h (INIT_CUMULATIVE_ARGS): Update.
+       * avr-protos.h (init_cumulative_args): Update prototype.
+       * avr.c (init_cumulative_args): Update function.
+       * avr.h (INIT_CUMULATIVE_ARGS): Update.
+       * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
+       * d30v.c (d30v_init_cumulative_args): Update function.
+       * d30v.h (INIT_CUMULATIVE_ARGS): Update.
+       * frv-protos.h (frv_init_cumulative_args): Update prototype.
+       * frv.c (frv_init_cumulative_args): Update function.
+       * frv.h (INIT_CUMULATIVE_ARGS): Update.
+       * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
+       * pa.h (INIT_CUMULATIVE_ARGS): Update.
+       * sparc-protos.h (init_cumulative_args): Update prototype.
+       * sparc.c (init_cumulative_args): Update function.
+       * sparc.h (INIT_CUMULATIVE_ARGS): Update.
+       * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
+
+2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
+       (*ashiftsi_sextqi_7): Likewise.
+
+2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
+       ISO C99 and C++.
+
+       * fixinc/inclhack.def (irix___restrict): Don't change __restrict
+       for C++ on IRIX 6.5.1[89].
+       * fixinc/tests/base/internal/sgimacros.h: New file.
+
+       * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
+       * fixinc/tests/base/internal/wchar_core.h: New file.
+       
+       * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
+       socklen_t definition.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/sys/socket.h: New file.
+       Fixes PR libgcj/9652.
+
+Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
+
+2003-02-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Initialize
+       align_jumps_max_skip and align_loops_max_skip.
+
+2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
+
+       * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
+       test size if named section.
+
+2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
+
+       * expr.c (expand_expr): Use gen_int_mode for the argument
+       to gen_rtx_MULT.
+
+Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (cosxf2):  Fix conditional.
+
+2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (extendqisi2): Change to an expander.
+       (*extendqisi2_h8300): New.
+       (*extendqisi2_h8300hs): Likewise.
+
 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300-protos.h: Update the prototype for
@@ -17,9 +289,10 @@ Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
        (cgraph_expand_function): Rewrite.
 
 2003-02-18  Matt Austern <austern@apple.com>
+
        * toplev.c, langhooks.c, langhooks-def.h: Move
        write_global_declarations from toplev.c to langhooks.c. 
-       
+
 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.c (general_operand_src): Always check
@@ -76,8 +349,8 @@ Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
 
 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
 
-       * sh.c (calc_live_regs): Also check GET_CODE when checking if initial value
-       for PR_REG is still the PR_REG register.
+       * sh.c (calc_live_regs): Also check GET_CODE when checking if
+       initial value for PR_REG is still the PR_REG register.
 
 2003-02-18  Jim Wilson  <wilson@redhat.com>
 
This page took 0.053475 seconds and 5 git commands to generate.