summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-14 14:14:43 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-14 14:14:43 +0000
commit9b3abc4df8c4ee4f2276f492c3a0d450dfc9a3b4 (patch)
tree87a9cba59ef842297cf196a05ab7546760e62efb /gcc/cp
parentb7df6bce769db7da8cb42cd1921226e29c117b09 (diff)
downloadgcc-9b3abc4df8c4ee4f2276f492c3a0d450dfc9a3b4.tar.gz
revert last checkin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53457 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/decl2.c7
-rw-r--r--gcc/cp/rtti.c6
3 files changed, 5 insertions, 12 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index da89625e155..d5facc540d3 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -5,10 +5,6 @@
(build_base_path): Vtable contents are constant.
* typeck.c (get_member_function_from_ptrfunc): Likewise.
- * rtti.c (emit_tinfo_decl): Call import_export_decl.
- * decl2.c (import_export_decl): Set DECL_NOT_REALLY_EXTERN on
- tinfo decls by default. Don't mess with the builtins.
-
2002-05-12 Jason Merrill <jason@redhat.com>
* cp-lang.c (ok_to_generate_alias_set_for_type): Backend-created
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 2fd67ae8740..2054a37e545 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2514,7 +2514,6 @@ import_export_decl (decl)
if (IS_AGGR_TYPE (ctype))
import_export_class (ctype);
- DECL_NOT_REALLY_EXTERN (decl) = 1;
if (IS_AGGR_TYPE (ctype) && CLASSTYPE_INTERFACE_KNOWN (ctype)
&& TYPE_POLYMORPHIC_P (ctype)
/* If -fno-rtti, we're not necessarily emitting this stuff with
@@ -2538,9 +2537,9 @@ import_export_decl (decl)
if (flag_weak)
comdat_linkage (decl);
}
- /* We used to exclude the builtin types here, but that broke
- emit_support_tinfos. Let rtti.c choose whether or not to emit
- them. */
+ else if (TYPE_BUILT_IN (ctype)
+ && same_type_p (ctype, TYPE_MAIN_VARIANT (ctype)))
+ DECL_NOT_REALLY_EXTERN (decl) = 0;
else
comdat_linkage (decl);
}
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 63ffcb7bef0..16df801b0d0 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -1462,11 +1462,9 @@ emit_tinfo_decl (decl_ptr, data)
my_friendly_assert (TREE_TYPE (tinfo_decl) == tinfo_decl_type, 20000121);
tinfo_type = TREE_TYPE (DECL_NAME (tinfo_decl));
my_friendly_assert (tinfo_type != NULL_TREE, 20000120);
-
- import_export_decl (tinfo_decl);
- if (DECL_REALLY_EXTERN (tinfo_decl) || !DECL_NEEDED_P (tinfo_decl))
+
+ if (!DECL_NEEDED_P (tinfo_decl))
return 0;
-
/* Say we've dealt with it. */
TREE_TYPE (DECL_NAME (tinfo_decl)) = NULL_TREE;