]> gcc.gnu.org Git - gcc.git/commit
Implement empty base optimization.
authorJason Merrill <jason@yorick.cygnus.com>
Fri, 3 Apr 1998 14:13:24 +0000 (14:13 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 3 Apr 1998 14:13:24 +0000 (09:13 -0500)
commit732dcb6f2a8254467d15cffc3cebf3467c4d010f
tree78b6049387f4015025e8331467e00ee2485df68d
parente9eaed43b9308d4da24ffde5b108a2962da959d4
Implement empty base optimization.

* class.c (finish_struct_1): Add vbase fields earlier.  Set
CLASSTYPE_SIZE of an empty base to 0.  Types with bases can be empty.
* search.c (dfs_check_overlap, dfs_no_overlap_yet): New fns.
(types_overlap_p): New fn.
* tree.c (avoid_overlap): New fn.
(build_base_fields): Use it to avoid overlapping empty bases.
* cp-tree.h, decl2.c, lang-options.h: Add -fnew-abi.

From-SVN: r18978
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl2.c
gcc/cp/lang-options.h
gcc/cp/search.c
gcc/cp/tree.c
This page took 0.05963 seconds and 5 git commands to generate.