From: Thomas König Date: Tue, 14 Apr 2020 14:15:49 +0000 (+0200) Subject: Backport from trunk of the fix for PR 94270. X-Git-Tag: misc/first-auto-changelog-9~129 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c94472580af3e2328bebb1493e7693c2b9cadc2;p=thirdparty%2Fgcc.git Backport from trunk of the fix for PR 94270. 2020-04-14 Thomas Koenig Backport from trunk PR fortran/94270 * gfortran.dg/warn_unused_dummy_argument_6.f90: New test. 2020-04-14 Thomas Koenig PR fortran/94270 * gfortran.dg/warn_unused_dummy_argument_6.f90: New test. --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 68a85ed026c0..1c88bb0efcb0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2020-04-14 Thomas Koenig + + Backport from trunk. + PR fortran/94270 + * trans-decl.c (generate_local_decl): Do not warn if the + symbol is artifical. + 2020-04-06 Fritz Reese Backport from master diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 71f751de76ff..ff85fd9da966 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -6011,7 +6011,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, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 813ec5a0c9aa..cd9ea033801f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-04-14 Thomas Koenig + + Backport from trunk + PR fortran/94270 + * gfortran.dg/warn_unused_dummy_argument_6.f90: New test. + 2020-04-11 UroÅ¡ Bizjak PR target/94494 diff --git a/gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_6.f90 b/gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_6.f90 new file mode 100644 index 000000000000..72f6d5c08570 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_6.f90 @@ -0,0 +1,13 @@ +! { dg-do compile } +! { dg-options "-Wall" } +! PR 94270 - this used to give a bogus warning. +! Test case by Ignacio Fernández Galván. +subroutine foo() +external bar +call meh(bar) +call foo_internal() +contains + subroutine foo_internal() + call meh(bar) + end subroutine foo_internal +end subroutine foo