This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc/cp ChangeLog class.c cp-tree.h init.c ...
- From: nathan at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 8 Oct 2004 09:33:56 -0000
- Subject: gcc/gcc/cp ChangeLog class.c cp-tree.h init.c ...
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: nathan@gcc.gnu.org 2004-10-08 09:33:56
Modified files:
gcc/cp : ChangeLog class.c cp-tree.h init.c search.c
Log message:
* cp-tree.h (dfs_walk, dfs_walk_real, dfs_unmark, markedp,
unmarkedp): Remove.
(dfs_skip_bases, dfs_walk_all, dfs_walk_once): New.
* class.c (struct find_final_overrider_data): Remove most_derived,
vpath_list and vpath fields. Add path field.
(dfs_find_final_ocerrider_1): Add DEPTH parameter. Adjust.
(dfs_find_final_overrider): Rename to ...
(dfs_find_final_overrider_pre): ... here. Adjust.
(dfs_find_final_overrider_post): Adjust.
(dfs_find_final_overrider_q): Fold into
dfs_find_final_overrider_pre.
(find_final_overrider): Adjust dfs searching.
(dfs_modify_vtables): Don't mark binfo here.
(modify_all_vtables): Use dfs_walk_once.
(build_vtt_inits): Likwise. Use dfs_walk_all.
(dfs_build_secondary_vptr_vtt_inits): Don't mark binfo here.
Return dfs_skip_bases as appropriate.
(dfs_fixup_binfo_vtbls): Return dfs_skip_bases as appropriate.
* init.c (dfs_initialized_vtbl_ptrs): Return dfs_skip_bases as
appropriate. Don't mark binfo here.
(initialize_vtbl_ptrs): Use dfs_walk_once.
* search.c (struct vbase_info): Remove unused struct.
(access_in_type): Use dfs_walk_once.
(dfs_access_in_type): Don't mark binfo here.
(dfs_accessible_queue_p, dfs_accessible_p) Remove.
Fold into ...
(accessible_r): ... here. New. Specialize dfs_walk_once.
(accessible_p): Use accessible_r.
(lookup_field_queue_p): Remove. Fold into ...
(lookup_field_r): ... here. Adjust.
(lookup_member): Use dfs_walk_all.
(dfs_walk_real, dfs_walk): Replace with ...
(dfs_walk_all, dfs_walk_once): ... these.
(dfs_walk_once_r, dfs_unmark_r): Workers for dfs_walk_once.
(dfs_unmark, unmarkedp, markedp): Remove.
(dfs_get_pure_virtuals): Don't mark binfo here.
(get_pure_virtuals): Use dfs_walk_once.
(dfs_debug_unmarked_p): Remove. Fold into ...
(dfs_debug_mark): ... here.
(note_debug_info_needed): Use dfs_walk_all.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4412&r2=1.4413
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.681&r2=1.682
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1057&r2=1.1058
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&r1=1.397&r2=1.398
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/search.c.diff?cvsroot=gcc&r1=1.325&r2=1.326