aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2019-06-15 22:10:54 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2019-06-15 22:10:54 +0000
commite00e19541456556b2b8d5aff9a0561d528087b27 (patch)
tree22ba4701cc525a9740beb80aa26f39e364aa8aa1 /gcc/fortran/decl.c
parent98e5be211e3d59563e760feabb1d4384efe5a1b9 (diff)
downloadgcc-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.c7
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))