aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-01-07 10:05:25 -0500
committerJason Merrill <jason@gcc.gnu.org>2020-01-07 10:05:25 -0500
commitbd65538abb6a48c97f9fd02d037b41e5a6397a70 (patch)
tree31186666c87d3f4b819b1ee7f2c251b168cf0b80 /gcc/tree.h
parent66b01cc3421055806f51ac36a8d237536970504c (diff)
downloadgcc-bd65538abb6a48c97f9fd02d037b41e5a6397a70.zip
gcc-bd65538abb6a48c97f9fd02d037b41e5a6397a70.tar.gz
gcc-bd65538abb6a48c97f9fd02d037b41e5a6397a70.tar.bz2
PR c++/47877 - -fvisibility-inlines-hidden and member templates.
DECL_VISIBILITY_SPECIFIED is also true if an enclosing scope has explicit visibility, and we don't want that to override -fvisibility-inlines-hidden. So check for the attribute specifically on the function, like we already do for template argument visibility restriction. * decl2.c (determine_visibility): -fvisibility-inlines-hidden beats explicit class visibility for a template. From-SVN: r279960
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index a6e4e9e..9ca9ab5 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2903,8 +2903,8 @@ extern void decl_value_expr_insert (tree, tree);
#define DECL_VISIBILITY(NODE) \
(DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.visibility)
-/* Nonzero means that the decl had its visibility specified rather than
- being inferred. */
+/* Nonzero means that the decl (or an enclosing scope) had its
+ visibility specified rather than being inferred. */
#define DECL_VISIBILITY_SPECIFIED(NODE) \
(DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.visibility_specified)