From 894460a754c74f27c9dff3d4ff0d8b1c45d1f8d6 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Fri, 7 Jun 2013 17:05:47 +0200 Subject: re PR fortran/57549 (Bogus error with array constructor with derived-type typespec) 2013-06-07 Tobias Burnus PR fortran/57549 * array.c (gfc_match_array_constructor): Call gfc_match_type_spec instead of gfc_match_decl_type_spec. * match.c (gfc_match_type_spec): Renamed from match_type_spec. (gfc_match_type_is, gfc_match_allocate): Update call. * match.h (gfc_match_type_spec): Add prototype. 2013-06-07 Tobias Burnus PR fortran/57549 * gfortran.dg/array_constructor_48.f90: New. * gfortran.dg/array_constructor_type_14.f03: Correct test case. * gfortran.dg/array_constructor_type_15.f03: Ditto. From-SVN: r199820 --- gcc/fortran/match.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/fortran/match.c') diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index b44d815..2533584 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -1937,8 +1937,8 @@ match_derived_type_spec (gfc_typespec *ts) the implicit_flag is not needed, so it was removed. Derived types are identified by their name alone. */ -static match -match_type_spec (gfc_typespec *ts) +match +gfc_match_type_spec (gfc_typespec *ts) { match m; locus old_locus; @@ -3426,7 +3426,7 @@ gfc_match_allocate (void) /* Match an optional type-spec. */ old_locus = gfc_current_locus; - m = match_type_spec (&ts); + m = gfc_match_type_spec (&ts); if (m == MATCH_ERROR) goto cleanup; else if (m == MATCH_NO) @@ -5502,7 +5502,7 @@ gfc_match_type_is (void) c = gfc_get_case (); c->where = gfc_current_locus; - if (match_type_spec (&c->ts) == MATCH_ERROR) + if (gfc_match_type_spec (&c->ts) == MATCH_ERROR) goto cleanup; if (gfc_match_char (')') != MATCH_YES) -- cgit v1.1