aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2008-07-29 10:00:25 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2008-07-29 10:00:25 +0000
commite27fb29c0dec9ef1cf32fe44ecbf7a6fcc3f09a9 (patch)
treef2de39c2d6ed6b532b2174d3e32c316cae390851 /gcc/cp/decl.c
parent1fbfb0e27a982802abc2cdd4e5a7d5c4eff49f5e (diff)
downloadgcc-e27fb29c0dec9ef1cf32fe44ecbf7a6fcc3f09a9.zip
gcc-e27fb29c0dec9ef1cf32fe44ecbf7a6fcc3f09a9.tar.gz
gcc-e27fb29c0dec9ef1cf32fe44ecbf7a6fcc3f09a9.tar.bz2
re PR c/34985 (Warning "defined but not used" despite __attribute__((__used__)))
2008-07-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR 34985 * c-decl.c (merge_decls): Merge USED flags. cp/ * decl.c (duplicate_decls): Merge USED flags. testsuite/ * gcc.dg/pr34985.c: New. * g++.dg/warn/pr34985.C: New. From-SVN: r138235
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r--gcc/cp/decl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 2d9ccba..248b9b7 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2056,6 +2056,12 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
ggc_free (DECL_LANG_SPECIFIC (olddecl));
}
+ /* Merge the USED information. */
+ if (TREE_USED (olddecl))
+ TREE_USED (newdecl) = 1;
+ else if (TREE_USED (newdecl))
+ TREE_USED (olddecl) = 1;
+
if (TREE_CODE (newdecl) == FUNCTION_DECL)
{
int function_size;