From bc21d3152f7644fcbd2acf98adbba270c0408c91 Mon Sep 17 00:00:00 2001 From: Janus Weil Date: Thu, 13 Aug 2009 21:46:46 +0200 Subject: re PR fortran/40941 (gfc_typespec: put derived and cl into union) 2009-08-13 Janus Weil PR fortran/40941 * gfortran.h (gfc_typespec): Put 'derived' and 'cl' into union. * decl.c (build_struct): Make sure 'cl' is only used if type is BT_CHARACTER. * symbol.c (gfc_set_default_type): Ditto. * resolve.c (resolve_symbol, resolve_fl_derived): Ditto. (resolve_equivalence,resolve_equivalence_derived): Make sure 'derived' is only used if type is BT_DERIVED. * trans-io.c (transfer_expr): Make sure 'derived' is only used if type is BT_DERIVED or BT_INTEGER (special case: C_PTR/C_FUNPTR). * array.c: Mechanical replacements to accomodate union in gfc_typespec. * check.c: Ditto. * data.c: Ditto. * decl.c: Ditto. * dump-parse-tree.c: Ditto. * expr.c: Ditto. * interface.c: Ditto. * iresolve.c: Ditto. * match.c: Ditto. * misc.c: Ditto. * module.c: Ditto. * openmp.c: Ditto. * parse.c: Ditto. * primary.c: Ditto. * resolve.c: Ditto. * simplify.c: Ditto. * symbol.c: Ditto. * target-memory.c: Ditto. * trans-array.c: Ditto. * trans-common.c: Ditto. * trans-const.c: Ditto. * trans-decl.c: Ditto. * trans-expr.c: Ditto. * trans-intrinsic.c: Ditto. * trans-io.c: Ditto. * trans-stmt.c: Ditto. * trans-types.c: Ditto. From-SVN: r150725 --- gcc/fortran/misc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gcc/fortran/misc.c') diff --git a/gcc/fortran/misc.c b/gcc/fortran/misc.c index 7e4b481..f80c9fa 100644 --- a/gcc/fortran/misc.c +++ b/gcc/fortran/misc.c @@ -67,9 +67,9 @@ void gfc_clear_ts (gfc_typespec *ts) { ts->type = BT_UNKNOWN; - ts->derived = NULL; + ts->u.derived = NULL; ts->kind = 0; - ts->cl = NULL; + ts->u.cl = NULL; ts->interface = NULL; ts->is_class = 0; /* flag that says if the type is C interoperable */ @@ -184,7 +184,7 @@ gfc_typename (gfc_typespec *ts) sprintf (buffer, "HOLLERITH"); break; case BT_DERIVED: - sprintf (buffer, "TYPE(%s)", ts->derived->name); + sprintf (buffer, "TYPE(%s)", ts->u.derived->name); break; case BT_PROCEDURE: strcpy (buffer, "PROCEDURE"); -- cgit v1.1