aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2021-10-26 20:54:41 +0200
committerHarald Anlauf <anlauf@gmx.de>2021-10-26 20:54:41 +0200
commitcfcb27cfcb1d32b8cf7bc463cc1fc5cacae8d199 (patch)
treedb7b38be3be7f12ad248ee521ff17448d2ca1722 /gcc
parent99af0b2f0fe1c0dc8c6d558157e700326d52816a (diff)
downloadgcc-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.c16
-rw-r--r--gcc/testsuite/gfortran.dg/pdt_4.f034
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)