aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r--gcc/fortran/trans-expr.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index fc03a23..f1849f5 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -1508,6 +1508,27 @@ gfc_trans_class_init_assign (gfc_code *code)
}
+/* Return the backend_decl for the vtable of an arbitrary typespec
+ and the vtable symbol. */
+
+tree
+gfc_get_vtable_decl (gfc_typespec *ts, gfc_symbol **vtab)
+{
+ gfc_symbol *vtable = gfc_find_vtab (ts);
+ gcc_assert (vtable != NULL);
+ if (vtab != NULL)
+ *vtab = vtable;
+ if (vtable->backend_decl == NULL_TREE)
+ return gfc_get_symbol_decl (vtable);
+ else
+ return vtable->backend_decl;
+}
+
+
+ /* Translate an assignment to a CLASS object
+ (pointer or ordinary assignment). */
+
+
/* End of prototype trans-class.c */