diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2019-06-15 22:10:54 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2019-06-15 22:10:54 +0000 |
commit | e00e19541456556b2b8d5aff9a0561d528087b27 (patch) | |
tree | 22ba4701cc525a9740beb80aa26f39e364aa8aa1 /gcc/fortran/decl.c | |
parent | 98e5be211e3d59563e760feabb1d4384efe5a1b9 (diff) | |
download | gcc-e00e19541456556b2b8d5aff9a0561d528087b27.zip gcc-e00e19541456556b2b8d5aff9a0561d528087b27.tar.gz gcc-e00e19541456556b2b8d5aff9a0561d528087b27.tar.bz2 |
decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived type.
2019-06-15 Steven G. Kargl <kargl@gcc.gnu.org>
* decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived
type.
2019-06-15 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/dummy_derived_typed.f90: New test.
From-SVN: r272333
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r-- | gcc/fortran/decl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 1c785a4..5fc06e4 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -10193,6 +10193,13 @@ gfc_match_derived_decl (void) && !gfc_add_function (&gensym->attr, gensym->name, NULL)) return MATCH_ERROR; + if (gensym->attr.dummy) + { + gfc_error ("Dummy argument %qs at %L cannot be a derived type at %C", + name, &gensym->declared_at); + return MATCH_ERROR; + } + sym = gfc_find_dt_in_generic (gensym); if (sym && (sym->components != NULL || sym->attr.zero_comp)) |