!RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic -Werror !PORTABILITY: An interoperable procedure should have an interface subroutine subr1(e) bind(c) external e end subroutine subr2(p) bind(c) !PORTABILITY: An interoperable procedure should have an interface procedure() :: p end subroutine subr3(p) bind(c) !PORTABILITY: An interoperable procedure should have an interface procedure(real) :: p end subroutine subr4(p) bind(c) interface !PORTABILITY: A dummy procedure of an interoperable procedure should be BIND(C) subroutine p(n) integer, intent(in) :: n end end interface end subroutine subr5(p) bind(c) interface !WARNING: A dummy procedure of an interoperable procedure should be BIND(C) subroutine p(c) character(*), intent(in) :: c end end interface end subroutine subr6(p) bind(c) interface function p() !ERROR: Interoperable function result must be scalar real p(1) end end interface end subroutine subr7(p) bind(c) interface !ERROR: Interoperable character function result must have length one character(*) function p() end end interface end subroutine subr8(p) bind(c) interface !WARNING: A dummy procedure of an interoperable procedure should be BIND(C) subroutine p(n) integer, intent(in), value :: n end end interface end subroutine subr9(p) bind(c) !ERROR: An interface name with the BIND attribute must appear if the BIND attribute appears in a procedure declaration procedure(q), bind(c), pointer :: p interface function q() real q(1) end end interface end