2012-03-10 Tobias Burnus <burnus@net-b.de>
PR fortran/52542
* decl.c (match_procedure_decl): If the interface
is bind(C), the procedure is as well.
2012-03-10 Tobias Burnus <burnus@net-b.de>
PR fortran/52542
* gfortran.dg/proc_ptr_35.f90: New.
@@ -0,0 +1,16 @@
+! { dg-do compile }
+!
+! PR fortran/52542
+!
+! Ensure that the procedure myproc is Bind(C).
+!
+! Contribute by Mat Cross of NAG
+!
+interface
+ subroutine s() bind(c)
+ end subroutine s
+end interface
+procedure(s) :: myproc
+call myproc()
+end
+! { dg-final { scan-assembler-not "myproc_" } }
@@ -4855,6 +4855,9 @@ match_procedure_decl (void)
if (m == MATCH_ERROR)
return MATCH_ERROR;
+ if (proc_if && proc_if->attr.is_bind_c)
+ current_attr.is_bind_c = 1;
+
/* Get procedure symbols. */
for(num=1;;num++)
{