Compiler error - why?

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

3 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

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.

We're still on 11.1... I did a clean, but still the same problem. Yes I know modules need to be weened into our old code...

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!