------- Comment #1 from jv244 at cam dot ac dot uk 2009-05-19 10:01 ------- OK, updated testcase, while the argument still holds for the previous code, this was the intended code, and the generated code is even worse:
INTEGER FUNCTION F1() INTEGER :: I1 INTEGER, TARGET :: I2 INTEGER, POINTER :: IP INTERFACE SUBROUTINE S(I1,IP) INTEGER,INTENT(IN) :: I1 INTEGER, POINTER :: IP END SUBROUTINE S END INTERFACE I1=1 I2=1 IP=>I2 CALL S(I1,IP) IP=2 F1=I1 END FUNCTION F1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40194