From 271bed0e992f4066d8ae679b0feaec448b868306 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 17 May 2005 21:47:13 +0000 Subject: [PATCH] re PR libstdc++/19664 (libstdc++ headers should have pop/push of the visibility around the declarations) 2005-05-17 H.J. Lu PR C++/19664 * decl2.c (determine_visibility): Don't set visibility to hidden if it has been set explicitly by user. From-SVN: r99861 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl2.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e67d716d007..13a72403948 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-05-17 H.J. Lu + + PR C++/19664 + * decl2.c (determine_visibility): Don't set visibility to + hidden if it has been set explicitly by user. + 2005-05-17 Mike Stump Yet more Objective-C++... diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 206cd6ba400..970c6381cc6 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -1624,8 +1624,12 @@ determine_visibility (tree decl) && DECL_DECLARED_INLINE_P (decl) && visibility_options.inlines_hidden) { - DECL_VISIBILITY (decl) = VISIBILITY_HIDDEN; - DECL_VISIBILITY_SPECIFIED (decl) = 1; + /* Don't change it if it has been set explicitly by user. */ + if (!DECL_VISIBILITY_SPECIFIED (decl)) + { + DECL_VISIBILITY (decl) = VISIBILITY_HIDDEN; + DECL_VISIBILITY_SPECIFIED (decl) = 1; + } } else if (CLASSTYPE_VISIBILITY_SPECIFIED (class_type)) { -- 2.30.2