[FLASH-BUGS] Flash - Fortran90 compiler compatibility on Tru64

From: Colin McNally (colin.mcnally.99n@shadnet.shad.ca)
Date: Fri Jul 05 2002 - 13:17:55 CDT

  • Next message: Mike Zingale: "Re: [FLASH-BUGS] Flash - Fortran90 compiler compatibility on Tru64"

    Hi,
      I have had to hack out some of the FORTRAN common blocks in PARAMESH
    that were used by the dataBase module into common blocks to make Compaq
    Tru64 Fortran compile FLASH (intgrs, floats,tree,solution_cc). It is
    possible that my modifications have messed something up.
        The issue is that when a common block is defined by Paramesh and is
    used in a dBase module and then a name in the common block is in the
    ONLY specification of a USE statement the compag compiler, for example goes:

    f95 -cpp -c -fast -r8 -i4 -I/usr/mpi/include -DN_DIM=2
    -DMAXBLOCKS=1000 flash.F90
    f90: Error: flash.F90, line 74: Conflicting attributes or multiple
    declaration of name. [NSTEP]
      do nstep = nbegin, nbegin+nend
    -----^
    f90: Error: flash.F90, line 74: An INTEGER or REAL data type is required
    in this context. [NSTEP]
      do nstep = nbegin, nbegin+nend
    -----^
    f90: Error: flash.F90, line 79: Conflicting attributes or multiple
    declaration of name. [NSTEP]
         if (MyPE == MasterPE) call tstamp_logfile (nstep, time, dt)
    ------------------------------------------------^
    f90: Error: flash.F90, line 92: Conflicting attributes or multiple
    declaration of name. [NSTEP]
         call output(time, dt, nstep, nbegin) ! Output if needed
    ---------------------------^
    f90: Error: flash.F90, line 106: Conflicting attributes or multiple
    declaration of name. [NSTEP]
      call end_flash (nstep-nbegin+1)
    ------------------^
    f90: Error: flash.F90, line 40: Name in only-list does not exist. [NSTEP]
      use dBaseDeclarations, ONLY: nstep
    -------------------------------^
    gmake: *** [flash.o] Error 1

    This is the sod test. Striaght out of the box FLASH2.1 and 2.0. Is
    there a recommended strategy for fixing this that's less painful then
    hacking out all the affected common block refrences and hacking the new
    module refrences in every new release of FLASH?

    Included find a Makefile.h for osf1t5. To recreate the problem drop it
    into the approprite directory and do ./setup sod -auto ; gmake

    This issue was seen with:
    Compaq Fortran V5.5-1877
    Compaq Fortran Compiler V5.5-1877-48BBF

    -Colin McNally
    McMaster University


    # FLASH Definitions for Idra.mcmaster.ca OSF5.1

    # Compiler and linker commands

    FCOMP = f95 -cpp
    CCOMP = cc
    CPPCOMP = CC
    LINK = f90

    # Compiler flags

    PP = -D

    FFLAGS_OPT = -c -fast -r8 -i4 -I/usr/mpi/include
    FFLAGS_DEBUG = -c -g -r8 -i4 -I/usr/mpi/include
    FFLAGS_TEST = -c -r8 -i4 -I/usr/mpi/include

    CFLAGS = -c
    #-I/usr/mpi/include

    # Linker flags

    LFLAGS = -fast -r8 -i4 -o

    # Libraries to include

    LIB = -L -L/work/colinm/lib -L/usr/lib -L/usr/shlib -L/usr/ccs/lib -L/usr/lib/cmplrs/cc -L/var/shlib -lmpi -lelan -lelan3

    LIB_HDF4= -lmfhdf -ldf -ljpeg -lz

    # Additional commands

    # Additional machine-dependent object files

    MACHOBJ =

    # Additional commands

    MV = mv -f
    AR = ar -r
    RM = rm -f
    CD = cd
    RL = ranlib
    ECHO = echo



    This archive was generated by hypermail 2b30 : Fri Jul 05 2002 - 13:00:12 CDT