]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport from trunk of the fix for PR 94270.
authorThomas König <tkoenig@gcc.gnu.org>
Tue, 14 Apr 2020 14:15:49 +0000 (16:15 +0200)
committerThomas König <tkoenig@gcc.gnu.org>
Tue, 14 Apr 2020 14:15:49 +0000 (16:15 +0200)
2020-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

Backport from trunk
PR fortran/94270
* gfortran.dg/warn_unused_dummy_argument_6.f90: New test.

2020-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/94270
* gfortran.dg/warn_unused_dummy_argument_6.f90: New test.

gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_6.f90 [new file with mode: 0644]

index 68a85ed026c080b3ab3256551684122dd4275ce4..1c88bb0efcb019cbf150a1387db6b2068259b7c9 100644 (file)
@@ -1,3 +1,10 @@
+2020-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       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  <foreese@gcc.gnu.org>
 
        Backport from master
index 71f751de76ff46eb101b7d7ca490cf367e3bdbfa..ff85fd9da9662f6600abc966b1108a07493b413c 100644 (file)
@@ -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,
index 813ec5a0c9aad73524be431e18274e4879c16833..cd9ea033801fff25a567a49230e2e7d717bab864 100644 (file)
@@ -1,3 +1,9 @@
+2020-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       Backport from trunk
+       PR fortran/94270
+       * gfortran.dg/warn_unused_dummy_argument_6.f90: New test.
+
 2020-04-11  Uroš Bizjak  <ubizjak@gmail.com>
 
        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 (file)
index 0000000..72f6d5c
--- /dev/null
@@ -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