diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2004-07-07 18:29:38 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2004-07-07 11:29:38 -0700 |
commit | 4681c50501dd2838e1e1125534d398a381b68862 (patch) | |
tree | 41316131aa4263431003b5b53d0cb9580173b4d4 /gcc | |
parent | 0e497b6cf53afd5217837a1d42f81e021b1554be (diff) | |
download | gcc-4681c50501dd2838e1e1125534d398a381b68862.zip gcc-4681c50501dd2838e1e1125534d398a381b68862.tar.gz gcc-4681c50501dd2838e1e1125534d398a381b68862.tar.bz2 |
re PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)
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.
From-SVN: r84215
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/rtti.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 488d037..851cd26 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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. diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index c23b186..8e0b962 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -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); |