diff options
| author | Jason Merrill <jason@redhat.com> | 2004-04-30 13:25:42 -0400 |
|---|---|---|
| committer | Jason Merrill <jason@gcc.gnu.org> | 2004-04-30 13:25:42 -0400 |
| commit | 00bfffa4c0730935f8cb16d59a72683b6d4c82bd (patch) | |
| tree | 4ac93946f88f9d873dc4b509f6b118ec816ee667 /gcc/cp/cp-lang.c | |
| parent | ed9676cf0ca3101a8933826b0dcc9aacae689f23 (diff) | |
| download | gcc-00bfffa4c0730935f8cb16d59a72683b6d4c82bd.zip gcc-00bfffa4c0730935f8cb16d59a72683b6d4c82bd.tar.gz gcc-00bfffa4c0730935f8cb16d59a72683b6d4c82bd.tar.bz2 | |
Refer to base members using COMPONENT_REFs where possible.
* class.c (build_simple_base_path): New fn.
(build_base_path): Use it for non-virtual base references.
(layout_class_type): Change base fields to their real type
after layout is done.
* cp-tree.h (IS_FAKE_BASE_TYPE): New macro.
* cp-lang.c (cxx_get_alias_set): Use it.
From-SVN: r81349
Diffstat (limited to 'gcc/cp/cp-lang.c')
| -rw-r--r-- | gcc/cp/cp-lang.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index bbe9170..3c2a311 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -292,9 +292,7 @@ ok_to_generate_alias_set_for_type (tree t) static HOST_WIDE_INT cxx_get_alias_set (tree t) { - if (TREE_CODE (t) == RECORD_TYPE - && TYPE_CONTEXT (t) && CLASS_TYPE_P (TYPE_CONTEXT (t)) - && CLASSTYPE_AS_BASE (TYPE_CONTEXT (t)) == t) + if (IS_FAKE_BASE_TYPE (t)) /* The base variant of a type must be in the same alias set as the complete type. */ return get_alias_set (TYPE_CONTEXT (t)); |
