C++ PATCH to tidy up build_vtbl_ref

Message ID 20180909233247.GA5587@redhat.com
State New
Headers show
Series
  • C++ PATCH to tidy up build_vtbl_ref
Related show

Commit Message

Marek Polacek Sept. 9, 2018, 11:32 p.m.
The wrapper for build_vtbl_ref_1 doesn't seem to do anything useful.

Bootstrapped/regtested on x86_64-linux, ok for trunk?

2018-09-09  Marek Polacek  <polacek@redhat.com>

	* class.c (build_vtbl_ref): Remove.
	(build_vtbl_ref_1): Rename to build_vtbl_ref.
	(build_vfn_ref): Call build_vtbl_ref instead of build_vtbl_ref_1.

Comments

Jason Merrill Sept. 10, 2018, 9:03 a.m. | #1
OK.

On Mon, Sep 10, 2018 at 12:32 AM, Marek Polacek <polacek@redhat.com> wrote:
> The wrapper for build_vtbl_ref_1 doesn't seem to do anything useful.

>

> Bootstrapped/regtested on x86_64-linux, ok for trunk?

>

> 2018-09-09  Marek Polacek  <polacek@redhat.com>

>

>         * class.c (build_vtbl_ref): Remove.

>         (build_vtbl_ref_1): Rename to build_vtbl_ref.

>         (build_vfn_ref): Call build_vtbl_ref instead of build_vtbl_ref_1.

>

> diff --git gcc/cp/class.c gcc/cp/class.c

> index e11173d2e59..e950a7423f7 100644

> --- gcc/cp/class.c

> +++ gcc/cp/class.c

> @@ -133,7 +133,6 @@ static void maybe_warn_about_overly_private_class (tree);

>  static void add_implicitly_declared_members (tree, tree*, int, int);

>  static tree fixed_type_or_null (tree, int *, int *);

>  static tree build_simple_base_path (tree expr, tree binfo);

> -static tree build_vtbl_ref_1 (tree, tree);

>  static void build_vtbl_initializer (tree, tree, tree, tree, int *,

>                                     vec<constructor_elt, va_gc> **);

>  static bool check_bitfield_decl (tree);

> @@ -699,8 +698,8 @@ build_vfield_ref (tree datum, tree type)

>     cases for INSTANCE which we take care of here, mainly to avoid

>     creating extra tree nodes when we don't have to.  */

>

> -static tree

> -build_vtbl_ref_1 (tree instance, tree idx)

> +tree

> +build_vtbl_ref (tree instance, tree idx)

>  {

>    tree aref;

>    tree vtbl = NULL_TREE;

> @@ -730,14 +729,6 @@ build_vtbl_ref_1 (tree instance, tree idx)

>    return aref;

>  }

>

> -tree

> -build_vtbl_ref (tree instance, tree idx)

> -{

> -  tree aref = build_vtbl_ref_1 (instance, idx);

> -

> -  return aref;

> -}

> -

>  /* Given a stable object pointer INSTANCE_PTR, return an expression which

>     yields a function pointer corresponding to vtable element INDEX.  */

>

> @@ -746,8 +737,7 @@ build_vfn_ref (tree instance_ptr, tree idx)

>  {

>    tree aref;

>

> -  aref = build_vtbl_ref_1 (cp_build_fold_indirect_ref (instance_ptr),

> -                           idx);

> +  aref = build_vtbl_ref (cp_build_fold_indirect_ref (instance_ptr), idx);

>

>    /* When using function descriptors, the address of the

>       vtable entry is treated as a function pointer.  */

Patch

diff --git gcc/cp/class.c gcc/cp/class.c
index e11173d2e59..e950a7423f7 100644
--- gcc/cp/class.c
+++ gcc/cp/class.c
@@ -133,7 +133,6 @@  static void maybe_warn_about_overly_private_class (tree);
 static void add_implicitly_declared_members (tree, tree*, int, int);
 static tree fixed_type_or_null (tree, int *, int *);
 static tree build_simple_base_path (tree expr, tree binfo);
-static tree build_vtbl_ref_1 (tree, tree);
 static void build_vtbl_initializer (tree, tree, tree, tree, int *,
 				    vec<constructor_elt, va_gc> **);
 static bool check_bitfield_decl (tree);
@@ -699,8 +698,8 @@  build_vfield_ref (tree datum, tree type)
    cases for INSTANCE which we take care of here, mainly to avoid
    creating extra tree nodes when we don't have to.  */
 
-static tree
-build_vtbl_ref_1 (tree instance, tree idx)
+tree
+build_vtbl_ref (tree instance, tree idx)
 {
   tree aref;
   tree vtbl = NULL_TREE;
@@ -730,14 +729,6 @@  build_vtbl_ref_1 (tree instance, tree idx)
   return aref;
 }
 
-tree
-build_vtbl_ref (tree instance, tree idx)
-{
-  tree aref = build_vtbl_ref_1 (instance, idx);
-
-  return aref;
-}
-
 /* Given a stable object pointer INSTANCE_PTR, return an expression which
    yields a function pointer corresponding to vtable element INDEX.  */
 
@@ -746,8 +737,7 @@  build_vfn_ref (tree instance_ptr, tree idx)
 {
   tree aref;
 
-  aref = build_vtbl_ref_1 (cp_build_fold_indirect_ref (instance_ptr),
-                           idx);
+  aref = build_vtbl_ref (cp_build_fold_indirect_ref (instance_ptr), idx);
 
   /* When using function descriptors, the address of the
      vtable entry is treated as a function pointer.  */