From 844511c89b97334861a86c28927a5e14a6680d84 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Thu, 11 Jan 2001 13:34:00 +0000 Subject: [PATCH] decl2.c (get_guard): Set linkage from guarded decl. cp: * decl2.c (get_guard): Set linkage from guarded decl. From-SVN: r38905 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/decl2.c | 12 +++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0981c7eab9b..995f49e6eaa 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2001-01-11 Nathan Sidwell + + * decl2.c (get_guard): Set linkage from guarded decl. + 2001-01-11 Nathan Sidwell * call.c (convert_default_arg): Check for unprocessed diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index e09905672c3..3f15b38be1f 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -2856,11 +2856,17 @@ get_guard (decl) guard_type = integer_type_node; guard = build_decl (VAR_DECL, sname, guard_type); - TREE_PUBLIC (guard) = 1; + + /* The guard should have the same linkage as what it guards. */ + TREE_PUBLIC (guard) = TREE_PUBLIC (decl); + TREE_STATIC (guard) = TREE_STATIC (decl); + DECL_COMMON (guard) = DECL_COMMON (decl); + DECL_ONE_ONLY (guard) = DECL_ONE_ONLY (decl); + if (TREE_PUBLIC (decl)) + DECL_WEAK (guard) = DECL_WEAK (decl); + DECL_ARTIFICIAL (guard) = 1; - TREE_STATIC (guard) = 1; TREE_USED (guard) = 1; - DECL_COMMON (guard) = 1; pushdecl_top_level (guard); cp_finish_decl (guard, NULL_TREE, NULL_TREE, 0); } -- 2.30.2