summaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2002-05-13 04:00:48 -0400
committerJason Merrill <jason@gcc.gnu.org>2002-05-13 04:00:48 -0400
commitf63ab951732ba679174976e269fe8697742ebbcd (patch)
tree8cecf23aef6e66bf41d420e5722b052aef5792fc /gcc/cp/rtti.c
parenta1cb2d640d085630bc7356b0b991c0c478b67a33 (diff)
downloadgcc-f63ab951732ba679174976e269fe8697742ebbcd.tar.gz
class.c (build_vtbl_ref_1): Use fixed_type_or_null.
* class.c (build_vtbl_ref_1): Use fixed_type_or_null. (fixed_type_or_null): See through reference vars. (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. From-SVN: r53416
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r--gcc/cp/rtti.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 16df801b0d0..63ffcb7bef0 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -1462,9 +1462,11 @@ 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);
-
- if (!DECL_NEEDED_P (tinfo_decl))
+
+ import_export_decl (tinfo_decl);
+ if (DECL_REALLY_EXTERN (tinfo_decl) || !DECL_NEEDED_P (tinfo_decl))
return 0;
+
/* Say we've dealt with it. */
TREE_TYPE (DECL_NAME (tinfo_decl)) = NULL_TREE;