aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/misc.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2012-03-03 09:40:24 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2012-03-03 09:40:24 +0100
commit45a6932568c7c3f4aaf0e0c935a5f5d58ecf1919 (patch)
tree0c29d6bc5a187e73c40b9223ee82a99a407d2889 /gcc/fortran/misc.c
parentc0e8830c542d211c6fe1fe3c49a814a46ffc9617 (diff)
downloadgcc-45a6932568c7c3f4aaf0e0c935a5f5d58ecf1919.zip
gcc-45a6932568c7c3f4aaf0e0c935a5f5d58ecf1919.tar.gz
gcc-45a6932568c7c3f4aaf0e0c935a5f5d58ecf1919.tar.bz2
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
2012-03-03 Tobias Burnus <burnus@net-b.de> PR fortran/48820 * decl.c (gfc_match_decl_type_spec): Support type(*). (gfc_verify_c_interop): Allow type(*). * dump-parse-tree.c (show_typespec): Handle type(*). * expr.c (gfc_copy_expr): Ditto. * interface.c (compare_type_rank, compare_parameter, compare_actual_formal, gfc_procedure_use): Ditto. * libgfortran.h (bt): Add BT_ASSUMED. * misc.c (gfc_basic_typename, gfc_typename): Handle type(*). * module.c (bt_types): Ditto. * resolve.c (assumed_type_expr_allowed): New static variable. (resolve_actual_arglist, resolve_variable, resolve_symbol): Handle type(*). * trans-expr.c (gfc_conv_procedure_call): Ditto. * trans-types.c (gfc_typenode_for_spec, gfc_get_dtype): Ditto. 2012-03-03 Tobias Burnus <burnus@net-b.de> PR fortran/48820 * gfortran.dg/assumed_type_1.f90: New. * gfortran.dg/assumed_type_2.f90: New. * gfortran.dg/assumed_type_3.f90: New. * gfortran.dg/assumed_type_4.f90: New. From-SVN: r184852
Diffstat (limited to 'gcc/fortran/misc.c')
-rw-r--r--gcc/fortran/misc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/misc.c b/gcc/fortran/misc.c
index 05aef9f..012364a 100644
--- a/gcc/fortran/misc.c
+++ b/gcc/fortran/misc.c
@@ -107,6 +107,9 @@ gfc_basic_typename (bt type)
case BT_UNKNOWN:
p = "UNKNOWN";
break;
+ case BT_ASSUMED:
+ p = "TYPE(*)";
+ break;
default:
gfc_internal_error ("gfc_basic_typename(): Undefined type");
}
@@ -157,6 +160,9 @@ gfc_typename (gfc_typespec *ts)
sprintf (buffer, "CLASS(%s)",
ts->u.derived->components->ts.u.derived->name);
break;
+ case BT_ASSUMED:
+ sprintf (buffer, "TYPE(*)");
+ break;
case BT_PROCEDURE:
strcpy (buffer, "PROCEDURE");
break;