aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Stump <mikestump@comcast.net>2010-02-22 21:57:22 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2010-02-22 13:57:22 -0800
commit3a7ba0405dcd31e3d952290d865557d1b4a223b8 (patch)
tree4c99cbe8cf664c331099ef5cf3bf0a9ac15eaa4c
parent38bddaf26d7891388e65e851dbdf86413f25ee0e (diff)
downloadgcc-3a7ba0405dcd31e3d952290d865557d1b4a223b8.zip
gcc-3a7ba0405dcd31e3d952290d865557d1b4a223b8.tar.gz
gcc-3a7ba0405dcd31e3d952290d865557d1b4a223b8.tar.bz2
Merge DECL_PRESERVE_P for C++.
2010-02-22 Mike Stump <mikestump@comcast.net> PR c++/43125 * decl.c (duplicate_decls): Merge DECL_PRESERVE_P. From-SVN: r156977
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index e933965..3c967b3 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-22 Mike Stump <mikestump@comcast.net>
+
+ PR c++/43125
+ * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
+
2010-02-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/23510
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index a22cf01..3eec0c7 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2093,6 +2093,10 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
TREE_USED (newdecl) = 1;
else if (TREE_USED (newdecl))
TREE_USED (olddecl) = 1;
+ if (DECL_PRESERVE_P (olddecl))
+ DECL_PRESERVE_P (newdecl) = 1;
+ else if (DECL_PRESERVE_P (newdecl))
+ DECL_PRESERVE_P (olddecl) = 1;
if (TREE_CODE (newdecl) == FUNCTION_DECL)
{