From e69afb29dc3f151d0768be9ce610da4348b0d62b Mon Sep 17 00:00:00 2001 From: "Steven G. Kargl" Date: Tue, 2 Nov 2010 17:09:58 +0000 Subject: 2010-11-02 Steven G. 2010-11-02 Steven G. Kargl < kargl@gcc.gnu.org> Tobias Burnus PR fortran/45170 * array.c (gfc_match_array_constructor): Reject deferred type parameter (DTP) in type-spec. * decl.c (char_len_param_value, match_char_length, gfc_match_char_spec, build_sym, variable_decl, enumerator_decl): Support DTP. * expr.c (check_inquiry): Fix check due to support for DTP. * gfortran.h (gfc_typespec): Add Boolean 'deferred'. * misc.c (gfc_clear_ts): Set it to false. * match.c (gfc_match_allocate): Support DTP. * resolve.c (resolve_allocate_expr): Not-implemented error for * DTP. (resolve_fl_variable): Add DTP constraint check. * trans-decl.c (gfc_trans_deferred_vars): Add not-implemented error for DTP. 2010-11-02 Steven G. Kargl < kargl@gcc.gnu.org> Tobias Burnus PR fortran/45170 * gfortran.dg/deferred_type_param_1.f90: New. * gfortran.dg/deferred_type_param_2.f90: New. * gfortran.dg/initialization_1.f90: Update dg-errors. * gfortran.dg/initialization_9.f90: Update dg-errors. Co-Authored-By: Tobias Burnus From-SVN: r166205 --- gcc/fortran/array.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/fortran/array.c') diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index 8c74e70..ff0977a 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -1035,6 +1035,13 @@ gfc_match_array_constructor (gfc_expr **result) if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Array constructor " "including type specification at %C") == FAILURE) goto cleanup; + + if (ts.deferred) + { + gfc_error ("Type-spec at %L cannot contain a deferred " + "type parameter", &where); + goto cleanup; + } } } -- cgit v1.1