* class.c (declared_access): Split out from handle_using_decl.
authorJason Merrill <jason@redhat.com>
Tue, 1 Nov 2016 13:41:50 +0000 (09:41 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 1 Nov 2016 13:41:50 +0000 (09:41 -0400)
From-SVN: r241739

gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h

index 8651479909cf5ec830a3b25fa915a96449dc5850..f9f34e8d2c81430fa39612f360cd15413f854314 100644 (file)
@@ -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
index a2a934691511d562ac925a01afe3ba432284abee..1a379348e5f58524d1c5c6249cd84f3e215b199a 100644 (file)
@@ -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;
 
index c58996925c3ca075223deebcf09988929f1af710..45224dcfc4295f873ceaf597a138855718fd23f0 100644 (file)
@@ -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);