aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2016-11-01 09:41:50 -0400
committerJason Merrill <jason@gcc.gnu.org>2016-11-01 09:41:50 -0400
commitcc656415cf740381e14cf576305ef7d7c63975f5 (patch)
tree7683599896a75ee2402ac27a8bf59120e7368c0e /gcc
parent3ec82f68d13350eb0d52776c6b38a37e86c31fc0 (diff)
downloadgcc-cc656415cf740381e14cf576305ef7d7c63975f5.zip
gcc-cc656415cf740381e14cf576305ef7d7c63975f5.tar.gz
gcc-cc656415cf740381e14cf576305ef7d7c63975f5.tar.bz2
* class.c (declared_access): Split out from handle_using_decl.
From-SVN: r241739
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/class.c15
-rw-r--r--gcc/cp/cp-tree.h1
3 files changed, 16 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8651479..f9f34e8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2016-11-01 Jason Merrill <jason@redhat.com>
+
+ * class.c (declared_access): Split out from handle_using_decl.
+
2016-10-31 Jakub Jelinek <jakub@redhat.com>
PR c++/78089
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index a2a9346..1a37934 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -1299,6 +1299,16 @@ alter_access (tree t, tree fdecl, tree access)
return 0;
}
+/* Return the access node for DECL's access in its enclosing class. */
+
+tree
+declared_access (tree decl)
+{
+ return (TREE_PRIVATE (decl) ? access_private_node
+ : TREE_PROTECTED (decl) ? access_protected_node
+ : access_public_node);
+}
+
/* Process the USING_DECL, which is a member of T. */
static void
@@ -1306,10 +1316,7 @@ handle_using_decl (tree using_decl, tree t)
{
tree decl = USING_DECL_DECLS (using_decl);
tree name = DECL_NAME (using_decl);
- tree access
- = TREE_PRIVATE (using_decl) ? access_private_node
- : TREE_PROTECTED (using_decl) ? access_protected_node
- : access_public_node;
+ tree access = declared_access (using_decl);
tree flist = NULL_TREE;
tree old_value;
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index c589969..45224dc 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -5635,6 +5635,7 @@ extern tree get_vtable_decl (tree, int);
extern void resort_type_method_vec (void *, void *,
gt_pointer_operator, void *);
extern bool add_method (tree, tree, tree);
+extern tree declared_access (tree);
extern tree currently_open_class (tree);
extern tree currently_open_derived_class (tree);
extern tree outermost_open_class (void);