Opened 5 years ago

Last modified 5 years ago

#831 closed defect

IMPORTANT: Fixed weird compiler error — at Initial Version

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 3.8
Component: Nonlinear Version: 3.8
Keywords: Cc:

Description

We are getting a weird compiler error with ifort (intel-17.0.4) in a cluster:

stiffness.f90(119): error #6401: The attributes of this name conflict with those made accessible by a USE statement.   [OP_HANDLE]
      character (len=3), dimension(5) :: op_handle
-----------------------------------------^
compilation aborted for stiffness.f90 (code 1)
make: *** [/home/hga/ocean/repository/Projects/indian/Build_roms/stiffness.o] Error 1

when using mp_reduce from distribute.F module. Obviously, it is a bug in the compiler because the variable op_handle is a dummy argument to the module interface:

      INTERFACE mp_reduce
# ifdef SINGLE_PRECISION
        MODULE PROCEDURE mp_reduce_0dp   ! double-precision reduction
        MODULE PROCEDURE mp_reduce_1dp   ! double-precision reduction
# endif
        MODULE PROCEDURE mp_reduce_0d
        MODULE PROCEDURE mp_reduce_1d
      END INTERFACE mp_reduce

An easy solution is to rename the routine argument from op_handle to handle_op in distribute.F. The compiler thinks that the variable is was declared in the module part.

Change History (0)

Note: See TracTickets for help on using tickets.