I've committed a testcase for PR fortran/67982 to trunk.
Dominique
Index: gcc/testsuite/gfortran.dg/warn_unused_function_3.f90
===================================================================
--- gcc/testsuite/gfortran.dg/warn_unused_function_3.f90        (nonexistent)
+++ gcc/testsuite/gfortran.dg/warn_unused_function_3.f90        (working copy)
@@ -0,0 +1,35 @@
+! { dg-do compile }
+! { dg-options "-Wunused-function" }
+!
+! PR 67982: Bogus -Wunused-function warning with contained function
+!
+! Contributed by Joost VandeVondele <Joost dot VandeVondele at mat dot ethz 
dot ch> 
+
+MODULE base
+  INTERFACE 
+    SUBROUTINE bar_int()
+    END SUBROUTINE 
+  END INTERFACE
+  PUBLIC hook
+  PRIVATE 
+  PROCEDURE(bar_int), POINTER :: hook=>NULL()
+END MODULE base
+
+MODULE foo
+  USE base, ONLY: hook  
+  PUBLIC init
+  PRIVATE 
+CONTAINS
+  SUBROUTINE init()
+     hook=>bar
+  END SUBROUTINE init
+  SUBROUTINE bar()
+     WRITE(6,*) "In bar"
+  END SUBROUTINE 
+END MODULE
+
+USE foo, ONLY: init
+USE base, ONLY: hook
+CALL init()
+CALL hook()
+END

Reply via email to