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.
Note:
See TracTickets
for help on using tickets.