diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2015-05-18 19:25:49 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2015-05-18 19:25:49 +0000 |
commit | f7c1c1719230dc619e465a5a2e1d2553e98ff090 (patch) | |
tree | add9f82c7ef52b397eeafb6323cd7b609c561280 /gcc/fortran/symbol.c | |
parent | 87734648c9b07cb1c1c30b1d77a38d4482f61e37 (diff) | |
download | gcc-f7c1c1719230dc619e465a5a2e1d2553e98ff090.zip gcc-f7c1c1719230dc619e465a5a2e1d2553e98ff090.tar.gz gcc-f7c1c1719230dc619e465a5a2e1d2553e98ff090.tar.bz2 |
re PR fortran/64925 (ICE with same names for dummy arg and internal procedure)
2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/64925
* symbol.c(check_conflict): Check for a conflict between a dummy
argument and an internal procedure name.
2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/64925
* gfortran.dg/pr64925.f90: New test.
From-SVN: r223313
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r-- | gcc/fortran/symbol.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index b18608b..e470cb9 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -458,6 +458,11 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where) } } + if (attr->dummy && ((attr->function || attr->subroutine) && + gfc_current_state () == COMP_CONTAINS)) + gfc_error_now ("internal procedure '%s' at %L conflicts with " + "DUMMY argument", name, where); + conf (dummy, entry); conf (dummy, intrinsic); conf (dummy, threadprivate); |