aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2007-11-05 23:11:57 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2007-11-05 15:11:57 -0800
commit565603f84a2e28d476744670e386774613477e04 (patch)
tree47901861f61ddfdcf8e78fce69521b55fb4cd401
parentd03b2e6b4d96856d7c8aed706e2605c7d01931dc (diff)
downloadgcc-565603f84a2e28d476744670e386774613477e04.zip
gcc-565603f84a2e28d476744670e386774613477e04.tar.gz
gcc-565603f84a2e28d476744670e386774613477e04.tar.bz2
re PR c++/33871 (typeinfo name referenced in ... defined in discarded section)
2007-11-05 H.J. Lu <hongjiu.lu@intel.com> PR c++/33871 * decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked local. From-SVN: r129911
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl2.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 36b7726..cbd2380 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2007-11-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/33871
+ * decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked
+ local.
+
2007-11-05 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33996
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index ddc8999..d3ca117 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1704,6 +1704,7 @@ constrain_visibility (tree decl, int visibility)
if (!DECL_EXTERN_C_P (decl))
{
TREE_PUBLIC (decl) = 0;
+ DECL_ONE_ONLY (decl) = 0;
DECL_INTERFACE_KNOWN (decl) = 1;
if (DECL_LANG_SPECIFIC (decl))
DECL_NOT_REALLY_EXTERN (decl) = 1;