diff options
author | Harald Anlauf <anlauf@gmx.de> | 2021-10-26 20:54:41 +0200 |
---|---|---|
committer | Harald Anlauf <anlauf@gmx.de> | 2021-10-26 20:54:41 +0200 |
commit | cfcb27cfcb1d32b8cf7bc463cc1fc5cacae8d199 (patch) | |
tree | db7b38be3be7f12ad248ee521ff17448d2ca1722 /gcc | |
parent | 99af0b2f0fe1c0dc8c6d558157e700326d52816a (diff) | |
download | gcc-cfcb27cfcb1d32b8cf7bc463cc1fc5cacae8d199.zip gcc-cfcb27cfcb1d32b8cf7bc463cc1fc5cacae8d199.tar.gz gcc-cfcb27cfcb1d32b8cf7bc463cc1fc5cacae8d199.tar.bz2 |
Fortran: do not restrict PDT KIND and LEN type parameters to default integer
gcc/fortran/ChangeLog:
PR fortran/102917
* decl.c (match_attr_spec): Remove invalid integer kind checks on
KIND and LEN attributes of PDTs.
gcc/testsuite/ChangeLog:
PR fortran/102917
* gfortran.dg/pdt_4.f03: Adjust testcase.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/decl.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pdt_4.f03 | 4 |
2 files changed, 2 insertions, 18 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 6043e10..ce61e53 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -5592,14 +5592,6 @@ match_attr_spec (void) m = MATCH_ERROR; goto cleanup; } - if (current_ts.kind != gfc_default_integer_kind) - { - gfc_error ("Component with KIND attribute at %C must be " - "default integer kind (%d)", - gfc_default_integer_kind); - m = MATCH_ERROR; - goto cleanup; - } } else if (d == DECL_LEN) { @@ -5619,14 +5611,6 @@ match_attr_spec (void) m = MATCH_ERROR; goto cleanup; } - if (current_ts.kind != gfc_default_integer_kind) - { - gfc_error ("Component with LEN attribute at %C must be " - "default integer kind (%d)", - gfc_default_integer_kind); - m = MATCH_ERROR; - goto cleanup; - } } else { diff --git a/gcc/testsuite/gfortran.dg/pdt_4.f03 b/gcc/testsuite/gfortran.dg/pdt_4.f03 index c1af65a..37412e4 100644 --- a/gcc/testsuite/gfortran.dg/pdt_4.f03 +++ b/gcc/testsuite/gfortran.dg/pdt_4.f03 @@ -28,9 +28,9 @@ end module type :: bad_pdt (a,b, c, d) ! { dg-error "does not have a component" } real, kind :: a ! { dg-error "must be INTEGER" } - INTEGER(8), kind :: b ! { dg-error "be default integer kind" } + INTEGER(8), kind :: b real, LEN :: c ! { dg-error "must be INTEGER" } - INTEGER(8), LEN :: d ! { dg-error "be default integer kind" } + INTEGER(8), LEN :: d end type type :: mytype (a,b) |