Lines Matching refs:vtab
238 gfc_symbol *vtab = gfc_find_derived_vtab (derived->components->ts.u.derived);
239 gcc_assert (vtab);
240 derived->components->next->ts.u.derived = vtab->ts.u.derived;
450 gfc_symbol *vtab = NULL;
453 vtab = gfc_find_vtab (&init_expr->ts);
455 vtab = gfc_find_vtab (ts);
464 if (strcmp (comp->name, "_vptr") == 0 && vtab)
465 ctor->expr = gfc_lval_expr_from_sym (vtab);
479 containers and vtab symbols. */
643 gfc_symbol *vtab;
770 vtab = gfc_find_derived_vtab (ts->u.derived);
771 gcc_assert (vtab);
772 c->ts.u.derived = vtab->ts.u.derived;
785 /* Build vtab later. */
888 gfc_symbol *vtab;
890 vtab = gfc_find_derived_vtab (declared);
892 for (cmp = vtab->ts.u.derived->components; cmp; cmp = cmp->next)
1075 gfc_symbol *vtab;
1078 vtab = gfc_find_derived_vtab (comp->ts.u.derived);
1079 for (c = vtab->ts.u.derived->components; c; c = c->next)
1597 If neither allocatable components nor FINAL subroutines exists, the vtab
1632 gfc_symbol *vtab;
1635 vtab = gfc_find_derived_vtab (derived->components->ts.u.derived);
1636 for (comp = vtab->ts.u.derived->components; comp; comp = comp->next)
2258 /* Add procedure pointers for all type-bound procedures to a vtab. */
2283 /* Find or generate the symbol for a derived type's vtab. */
2289 gfc_symbol *vtab = NULL, *vtype = NULL, *found_sym = NULL, *def_init = NULL;
2334 /* Look for the vtab symbol in various namespaces. */
2337 gfc_find_symbol (name, gsym->ns, 0, &vtab);
2338 if (vtab)
2341 if (vtab == NULL)
2342 gfc_find_symbol (name, gfc_current_ns, 0, &vtab);
2343 if (vtab == NULL)
2344 gfc_find_symbol (name, ns, 0, &vtab);
2345 if (vtab == NULL)
2346 gfc_find_symbol (name, derived->ns, 0, &vtab);
2348 if (vtab == NULL)
2350 gfc_get_symbol (name, ns, &vtab);
2351 vtab->ts.type = BT_DERIVED;
2352 if (!gfc_add_flavor (&vtab->attr, FL_VARIABLE, NULL,
2355 vtab->attr.target = 1;
2356 vtab->attr.save = SAVE_IMPLICIT;
2357 vtab->attr.vtab = 1;
2358 vtab->attr.access = ACCESS_PUBLIC;
2359 gfc_set_sym_referenced (vtab);
2446 found_sym = vtab;
2624 vtab->ts.u.derived = vtype;
2625 vtab->value = gfc_default_initializer (&vtab->ts);
2630 found_sym = vtab;
2637 gfc_commit_symbol (vtab);
2669 gfc_symbol *vtab;
2686 /* Make sure vtab is generated. */
2687 vtab = gfc_find_derived_vtab (derived);
2692 final = vtab->ts.u.derived->components->next->next->next->next->next;
2702 /* Find (or generate) the symbol for an intrinsic type's vtab. This is
2709 gfc_symbol *vtab = NULL, *vtype = NULL, *found_sym = NULL;
2728 /* Look for the vtab symbol in the top-level namespace only. */
2729 gfc_find_symbol (name, ns, 0, &vtab);
2731 if (vtab == NULL)
2733 gfc_get_symbol (name, ns, &vtab);
2734 vtab->ts.type = BT_DERIVED;
2735 if (!gfc_add_flavor (&vtab->attr, FL_VARIABLE, NULL,
2738 vtab->attr.target = 1;
2739 vtab->attr.save = SAVE_IMPLICIT;
2740 vtab->attr.vtab = 1;
2741 vtab->attr.access = ACCESS_PUBLIC;
2742 gfc_set_sym_referenced (vtab);
2785 vtab. */
2896 vtab->ts.u.derived = vtype;
2897 vtab->value = gfc_default_initializer (&vtab->ts);
2902 found_sym = vtab;
2909 gfc_commit_symbol (vtab);
2926 /* Find (or generate) a vtab for an arbitrary type (derived or intrinsic). */