OSDN Git Service

2004-07-07 H.J. Lu <hongjiu.lu@intel.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jul 2004 18:29:38 +0000 (18:29 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jul 2004 18:29:38 +0000 (18:29 +0000)
PR c++/16276
* rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo
is not public.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84215 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/rtti.c

index 488d037..851cd26 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR c++/16276
+       * rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo
+       is not public.
+
 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
 
        * cp-tree.h (CLASSTYPE_N_BASECLASSES): Remove.
index c23b186..8e0b962 100644 (file)
@@ -1461,7 +1461,11 @@ emit_tinfo_decl (tree decl)
   DECL_EXTERNAL (decl) = 0;
   TREE_PUBLIC (decl) = !non_public;
   if (non_public)
-    DECL_COMDAT (decl) = 0;
+    {
+      DECL_COMDAT (decl) = 0;
+      if (SUPPORTS_ONE_ONLY)
+       DECL_ONE_ONLY (decl) = 0;
+    }
 
   DECL_INITIAL (decl) = var_init;
   mark_used (decl);