Opened 6 years ago
Closed 6 years ago
#831 closed defect (Fixed)
IMPORTANT: Fixed weird compiler error
Reported by: | arango | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.8 |
Component: | Nonlinear | Version: | 3.8 |
Keywords: | Cc: |
Description (last modified by )
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. It is a bug in the ifort 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 declared in the module part. Anyway, it a simple variable rename that makes the compiling more robust.
Change History (1)
comment:1 by , 6 years ago
Description: | modified (diff) |
---|---|
Resolution: | → Fixed |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.