diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1998-04-03 14:13:24 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-04-03 09:13:24 -0500 |
commit | 732dcb6f2a8254467d15cffc3cebf3467c4d010f (patch) | |
tree | 78b6049387f4015025e8331467e00ee2485df68d /gcc/c-common.c | |
parent | e9eaed43b9308d4da24ffde5b108a2962da959d4 (diff) | |
download | gcc-732dcb6f2a8254467d15cffc3cebf3467c4d010f.zip gcc-732dcb6f2a8254467d15cffc3cebf3467c4d010f.tar.gz gcc-732dcb6f2a8254467d15cffc3cebf3467c4d010f.tar.bz2 |
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
Diffstat (limited to 'gcc/c-common.c')
0 files changed, 0 insertions, 0 deletions