aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/ipa-devirt.c2
-rw-r--r--gcc/ipa-utils.h1
3 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 76609fb..1f99c1e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2013-08-23 Jan Hubicka <jh@suse.cz>
+ * ipa-utils.h (method_class_type): Declare.
+ * ipa-devirt.c (method_class_type): Export.
+
* cgraphunit.c (analyze_functions): Do basic devirtualization;
do not walk base classes of anonymous types.
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 4daf6b4..0b678bd 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -342,7 +342,7 @@ dump_type_inheritance_graph (FILE *f)
/* Given method type T, return type of class it belongs to.
Lookup this pointer and get its type. */
-static tree
+tree
method_class_type (tree t)
{
tree first_parm_type = TREE_VALUE (TYPE_ARG_TYPES (t));
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h
index 3c6c93c..4272455 100644
--- a/gcc/ipa-utils.h
+++ b/gcc/ipa-utils.h
@@ -59,6 +59,7 @@ odr_type get_odr_type (tree, bool insert = false);
void dump_possible_polymorphic_call_targets (FILE *, tree, HOST_WIDE_INT);
bool possible_polymorphic_call_target_p (tree, HOST_WIDE_INT,
struct cgraph_node *n);
+tree method_class_type (tree);
/* Return vector containing possible targets of polymorphic call E.
If FINALP is non-NULL, store true if the list is complette.