aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-03-05 07:51:14 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-03-05 07:51:14 -0500
commit0ecef3cf11fb05a70152a8a4d4ff915b99811404 (patch)
tree70fe5f3ebd7a682044e25064511b20b27178f67e /gcc
parent9e18f575557d94acced039000fa26958e75f69e6 (diff)
downloadgcc-0ecef3cf11fb05a70152a8a4d4ff915b99811404.zip
gcc-0ecef3cf11fb05a70152a8a4d4ff915b99811404.tar.gz
gcc-0ecef3cf11fb05a70152a8a4d4ff915b99811404.tar.bz2
(duplicate_decl): If making decl non-external, copy context from old
to new. From-SVN: r11439
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-decl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 65dfa01..b737956 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -1843,6 +1843,8 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
DECL_EXTERNAL (newdecl) = DECL_EXTERNAL (olddecl);
/* An extern decl does not override previous storage class. */
TREE_PUBLIC (newdecl) = TREE_PUBLIC (olddecl);
+ if (! DECL_EXTERNAL (newdecl))
+ DECL_CONTEXT (newdecl) = DECL_CONTEXT (olddecl);
}
else
{