diff mbox

[C++] Remove unused cp_fold_obj_type_ref

Message ID 20110422132335.GB331@virgil.arch.suse.de
State New
Headers show

Commit Message

Martin Jambor April 22, 2011, 1:23 p.m. UTC
Hi,

last year I removed the last use of cp_fold_obj_type_ref (which was a
language hook) but forgot to remove the function itself.  So I'm about
to do it now.

I'm currently bootstrapping and testing the following patch.  I
consider it obvious enough to commit it myself on Tuesday if it
passes.

Thanks,

Martin


2011-04-22  Martin Jambor  <mjambor@suse.cz>

	* class.c (cp_fold_obj_type_ref): Remove.
	* cp-tree.h (cp_fold_obj_type_ref): Remove declaration.

Comments

Rainer Orth April 26, 2011, 6:07 p.m. UTC | #1
Martin,

> last year I removed the last use of cp_fold_obj_type_ref (which was a
> language hook) but forgot to remove the function itself.  So I'm about
> to do it now.
>
> I'm currently bootstrapping and testing the following patch.  I
> consider it obvious enough to commit it myself on Tuesday if it
> passes.

the patch was so obvious that it broke bootstrap:

/vol/gcc/src/hg/trunk/local/gcc/objc/objc-act.c: In function 'objc_fold_obj_type_ref':
/vol/gcc/src/hg/trunk/local/gcc/objc/objc-act.c:8625:3: error: implicit declaration of function 'cp_fold_obj_type_ref' [-Werror=implicit-function-declaration]
/vol/gcc/src/hg/trunk/local/gcc/objc/objc-act.c:8625:3: error: return makes pointer from integer without a cast [-Werror]
cc1: all warnings being treated as errors

make[3]: *** [objcp/objcp-act.o] Error 1

grep is your friend.

	Rainer
diff mbox

Patch

Index: src/gcc/cp/class.c
===================================================================
--- src.orig/gcc/cp/class.c
+++ src/gcc/cp/class.c
@@ -8377,32 +8377,4 @@  build_rtti_vtbl_entries (tree binfo, vtb
   CONSTRUCTOR_APPEND_ELT (vid->inits, NULL_TREE, init);
 }
 
-/* Fold a OBJ_TYPE_REF expression to the address of a function.
-   KNOWN_TYPE carries the true type of OBJ_TYPE_REF_OBJECT(REF).  */
-
-tree
-cp_fold_obj_type_ref (tree ref, tree known_type)
-{
-  HOST_WIDE_INT index = tree_low_cst (OBJ_TYPE_REF_TOKEN (ref), 1);
-  HOST_WIDE_INT i = 0;
-  tree v = BINFO_VIRTUALS (TYPE_BINFO (known_type));
-  tree fndecl;
-
-  while (i != index)
-    {
-      i += (TARGET_VTABLE_USES_DESCRIPTORS
-	    ? TARGET_VTABLE_USES_DESCRIPTORS : 1);
-      v = TREE_CHAIN (v);
-    }
-
-  fndecl = BV_FN (v);
-
-#ifdef ENABLE_CHECKING
-  gcc_assert (tree_int_cst_equal (OBJ_TYPE_REF_TOKEN (ref),
-				  DECL_VINDEX (fndecl)));
-#endif
-
-  return build_address (fndecl);
-}
-
 #include "gt-cp-class.h"
Index: src/gcc/cp/cp-tree.h
===================================================================
--- src.orig/gcc/cp/cp-tree.h
+++ src/gcc/cp/cp-tree.h
@@ -4713,7 +4713,6 @@  extern void note_name_declared_in_class
 extern tree get_vtbl_decl_for_binfo		(tree);
 extern void debug_class				(tree);
 extern void debug_thunks			(tree);
-extern tree cp_fold_obj_type_ref		(tree, tree);
 extern void set_linkage_according_to_type	(tree, tree);
 extern void determine_key_method		(tree);
 extern void check_for_override			(tree, tree);