aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/match.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2013-06-07 17:05:47 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2013-06-07 17:05:47 +0200
commit894460a754c74f27c9dff3d4ff0d8b1c45d1f8d6 (patch)
treeaabfb60b1fa8644cbc213b22b8baf303b5d8ba45 /gcc/fortran/match.c
parentb5e0425c7c222004d535313f6c9344099556d1f1 (diff)
downloadgcc-894460a754c74f27c9dff3d4ff0d8b1c45d1f8d6.zip
gcc-894460a754c74f27c9dff3d4ff0d8b1c45d1f8d6.tar.gz
gcc-894460a754c74f27c9dff3d4ff0d8b1c45d1f8d6.tar.bz2
re PR fortran/57549 (Bogus error with array constructor with derived-type typespec)
2013-06-07 Tobias Burnus <burnus@net-b.de> 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 <burnus@net-b.de> 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
Diffstat (limited to 'gcc/fortran/match.c')
-rw-r--r--gcc/fortran/match.c8
1 files changed, 4 insertions, 4 deletions
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)