diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2006-10-22 16:07:41 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2006-10-22 16:07:41 +0000 |
commit | 6e4be1fa8c986cb0e12fb2fed62790dd838f38ed (patch) | |
tree | b15775d98879cdb94a82961c5ce181bce8ba2725 /gcc/cp | |
parent | 59edb6b4b4482c87d343a81614bac450b894f7b9 (diff) | |
download | gcc-6e4be1fa8c986cb0e12fb2fed62790dd838f38ed.zip gcc-6e4be1fa8c986cb0e12fb2fed62790dd838f38ed.tar.gz gcc-6e4be1fa8c986cb0e12fb2fed62790dd838f38ed.tar.bz2 |
re PR libstdc++/20647 (Wrong typeid for incomplete types)
cp/
PR c++/20647
* rtti.c (tinfo_base_init): The type info string is always global.
testsuite/
PR c++/20647
* g++.dg/abi/rtti3.C: New.
From-SVN: r117957
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/rtti.c | 8 |
2 files changed, 6 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a0cfbc0..0e6314c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2006-10-22 Nathan Sidwell <nathan@codesourcery.com> + + PR c++/20647 + * rtti.c (tinfo_base_init): The type info string is always global. + 2006-10-20 Lee Millward <lee.millward@codesourcery.com> Mark Mitchell <mark@codesourcery.com> diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 0cb825d..077d3e0 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -824,13 +824,7 @@ tinfo_base_init (tinfo_s *ti, tree target) TREE_STATIC (name_decl) = 1; DECL_EXTERNAL (name_decl) = 0; DECL_TINFO_P (name_decl) = 1; - if (involves_incomplete_p (target)) - { - TREE_PUBLIC (name_decl) = 0; - DECL_INTERFACE_KNOWN (name_decl) = 1; - } - else - set_linkage_according_to_type (target, name_decl); + set_linkage_according_to_type (target, name_decl); import_export_decl (name_decl); DECL_INITIAL (name_decl) = name_string; mark_used (name_decl); |