aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorThomas König <tkoenig@gcc.gnu.org>2020-04-14 13:50:51 +0200
committerThomas König <tkoenig@gcc.gnu.org>2020-04-14 13:50:51 +0200
commit3b0e49a52e1884b501861c128b0a98dec50bdd2e (patch)
tree726bb3c94000a64c680bc61898ddd4bdb1684122 /gcc/fortran
parenta1ff717f59d5198140fa6e1ad814f3d63ccf9925 (diff)
downloadgcc-3b0e49a52e1884b501861c128b0a98dec50bdd2e.zip
gcc-3b0e49a52e1884b501861c128b0a98dec50bdd2e.tar.gz
gcc-3b0e49a52e1884b501861c128b0a98dec50bdd2e.tar.bz2
Fix PR 94270 by not warning about artifical dummy arguments.
2020-04-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/94270 * interface.c (gfc_get_formal_from_actual_arglist): Always set artificial attribute for symbols. * trans-decl.c (generate_local_decl): Do not warn if the symbol is artifical. 2020-04-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/94270 * gfortran.dg/warn_unused_dummy_argument_6.f90: New test.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/interface.c2
-rw-r--r--gcc/fortran/trans-decl.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index 75a50c9..8f041f0 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -5317,7 +5317,6 @@ gfc_get_formal_from_actual_arglist (gfc_symbol *sym,
s->ts.is_iso_c = 0;
s->ts.is_c_interop = 0;
s->attr.flavor = FL_VARIABLE;
- s->attr.artificial = 1;
if (a->expr->rank > 0)
{
s->attr.dimension = 1;
@@ -5332,6 +5331,7 @@ gfc_get_formal_from_actual_arglist (gfc_symbol *sym,
s->maybe_array = maybe_dummy_array_arg (a->expr);
}
s->attr.dummy = 1;
+ s->attr.artificial = 1;
s->declared_at = a->expr->where;
s->attr.intent = INTENT_UNKNOWN;
(*f)->sym = s;
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index e91a279..487e776 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -6072,7 +6072,7 @@ generate_local_decl (gfc_symbol * sym)
/* Unused procedure passed as dummy argument. */
if (sym->attr.flavor == FL_PROCEDURE)
{
- if (!sym->attr.referenced)
+ if (!sym->attr.referenced && !sym->attr.artificial)
{
if (warn_unused_dummy_argument)
gfc_warning (OPT_Wunused_dummy_argument,