Which compiler version? Works for me with 13.0.1.
If building from within Visual Studio, do a Clean first (or a Rebuild), just in case left over interface checking modules are confusing things. If building from the command line delete any __genmod.mod files that might be hanging around.
Then go and do twenty push ups for not putting the function in a module.




Compiler error - why?
aupper.for(12): error #8000: There is a conflict between local interface block and external interface block. [FYUPPR]
Code:
program aupper
IMPLICIT NONE
INTERFACE
FUNCTION FYUPPR(STRING) RESULT(FYUPPR_0)
CHARACTER(*) :: STRING
CHARACTER(LEN=LEN(STRING)) :: FYUPPR_0
END FUNCTION FYUPPR
END INTERFACE
CHARACTER(256) :: carg
call getarg(1,carg)
carg = fyuppr(carg)
END program aupper
FUNCTION FYuppr (STRING)
IMPLICIT NONE
CHARACTER(LEN=*) STRING
CHARACTER(LEN=LEN(STRING)) FYuppr
FYuppr = STRING
RETURN
END FUNCTION FYuppr