aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorMark Eggleston <markeggleston@gcc.gnu.org>2020-06-10 16:18:23 +0100
committerMark Eggleston <markeggleston@gcc.gnu.org>2020-06-23 07:07:23 +0100
commit384aa890255dc01ba6d6529b127975c2c9a49a3c (patch)
tree533d6e749548418072eda32d10ec068def4d593d /gcc/fortran/decl.c
parent605a8f3bbcfbc5c2d677f9eb0585db8ad15a730d (diff)
downloadgcc-384aa890255dc01ba6d6529b127975c2c9a49a3c.zip
gcc-384aa890255dc01ba6d6529b127975c2c9a49a3c.tar.gz
gcc-384aa890255dc01ba6d6529b127975c2c9a49a3c.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/decl.c')
-rw-r--r--gcc/fortran/decl.c2
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)