diff options
author | Mark Eggleston <markeggleston@gcc.gnu.org> | 2020-06-10 16:18:23 +0100 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-17 13:14:32 -0300 |
commit | ca9275d8ab02436b45f25f155c510210f07fccb5 (patch) | |
tree | 293f62b6822b0afeb5f5ba1d11a6413064c7af2a /gcc/fortran | |
parent | b24e096f2a29c6990231f41112f50df2e9adb87d (diff) | |
download | gcc-ca9275d8ab02436b45f25f155c510210f07fccb5.zip gcc-ca9275d8ab02436b45f25f155c510210f07fccb5.tar.gz gcc-ca9275d8ab02436b45f25f155c510210f07fccb5.tar.bz2 |
Fortran : ICE in gfc_validate_kind PR95586
Report syntax error for invalid letter-spec in IMPLICIT statements
for derived types and not an ICE.
Original patch by Steve Kargl. Added test cases based on those
provided by G. Steinmetz in the PR.
2020-06-23 Steven G. Kargl <kargl@gcc.gnu.org>
gcc/fortran/
PR fortran/95586
* decl.c (gfc_match_implicit): Only perform else branch if
the type spect is not BT_DERIVED.
2020-06-23 Mark Eggleston <markeggleston@gcc.gnu.org>
gcc/testsuite/
PR fortran/95586
* gfortran.dg/pr95586_1.f90: New test.
* gfortran.dg/pr95586_2.f90: New test.
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/decl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index c8a9853..c27cfac 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4827,7 +4827,7 @@ gfc_match_implicit (void) /* Last chance -- check <TYPE> <SELECTOR> (<RANGE>). */ if (ts.type == BT_CHARACTER) m = gfc_match_char_spec (&ts); - else + else if (ts.type != BT_DERIVED) { m = gfc_match_kind_spec (&ts, false); if (m == MATCH_NO) |