Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

error #7068: The characteristics of a dummy argument

NAGARAJU_C_
Beginner
1,087 Views

I have a CFS code which was developed at NCEP. Code was able to compile with intel 13, when I was trying to compile the same code with Intel 17.0, I am getting error #7068: The characteristics of a dummy argument  (https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/472080 ).  Is there any FLAG/OPTION in intel 17.0 to over come this problem. Because CFS code is complicated and it will take much time to revise.

0 Kudos
7 Replies
mecej4
Honored Contributor III
1,087 Views

Please show at least one instance of mismatched subroutine call - subroutine declaration that caused the error message to be issued. One must have some assurance that the mismatch is benign before hiding it from the compiler.

Be sure to list all the arguments, their declarations and attributes.

0 Kudos
NAGARAJU_C_
Beginner
1,087 Views

I am trying to compile using below command and I am getting the following error  I have attached the fortran codes FYI

 

mpif90 -auto -align dcommon -Zp16 -g -O2 -r8 -fpconstant  -I/work/04110/nagaraju/cfs_v2_KNL/esmf_3_1_0rp2/mod/modO/Linux.intel.64.intelmpi.default -I/work/04110/nagaraju/cfs_v2_KNL/esmf_3_1_0rp2/src/include -free -c GFS_GridComp_ESMFMod.f

GFS_GridComp_ESMFMod.f(88): error #7061: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure.   [INITIALIZE]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETINIT,  Initialize,      &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(88): error #7062: The characteristics of dummy argument 2 of the associated actual procedure differ from the characteristics of dummy argument 2 of the dummy procedure.   [INITIALIZE]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETINIT,  Initialize,      &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(88): error #7063: The characteristics of dummy argument 3 of the associated actual procedure differ from the characteristics of dummy argument 3 of the dummy procedure.   [INITIALIZE]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETINIT,  Initialize,      &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(98): error #7061: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure.   [RUN]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETRUN,   Run,             &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(98): error #7062: The characteristics of dummy argument 2 of the associated actual procedure differ from the characteristics of dummy argument 2 of the dummy procedure.   [RUN]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETRUN,   Run,             &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(98): error #7063: The characteristics of dummy argument 3 of the associated actual procedure differ from the characteristics of dummy argument 3 of the dummy procedure.   [RUN]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETRUN,   Run,             &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(108): error #7061: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure.   [FINALIZE]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETFINAL, Finalize,        &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(108): error #7062: The characteristics of dummy argument 2 of the associated actual procedure differ from the characteristics of dummy argument 2 of the dummy procedure.   [FINALIZE]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETFINAL, Finalize,        &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(108): error #7063: The characteristics of dummy argument 3 of the associated actual procedure differ from the characteristics of dummy argument 3 of the dummy procedure.   [FINALIZE]
 CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETFINAL, Finalize,        &
--------------------------------------------------------^
compilation aborted for GFS_GridComp_ESMFMod.f (code 1)
make: *** [GFS_GridComp_ESMFMod.o] Error 1

0 Kudos
mecej4
Honored Contributor III
1,087 Views

You did not include the source codes of all the modules used by the three files that you attached to #3. For example, the source code of module ESMF_Mod.

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,087 Views

>>...the characteristics of dummy argument 1 of the dummy procedure...

What may be happening is an argument in the call is a procedure (function or subroutine) who's interface is not defined .OR. defined incorrectly. The newer versions of the compiler, in Debug build, default to checking interfaces for inconsistencies.

Check (or add/correct) interfaces for INITIALIZE, FINALIZE and RUN.

The caller(s) and called routines must have the same interface. If you do not use interfaces, and exclude interface checking to avoid error message, you run at your own peril.

Jim Dempsey

0 Kudos
Steve_Lionel
Honored Contributor III
1,087 Views

What is evident is that the newer compiler is detecting a coding error that the older one did not.

0 Kudos
NAGARAJU_C_
Beginner
1,087 Views

I have tried the intel 13.0.2.146 version. without this error it is compiling 

0 Kudos
mecej4
Honored Contributor III
1,087 Views

NAGARAJU C. wrote:

I have tried the intel 13.0.2.146 version. without this error it is compiling 

Yes, we understand that your program is not in compliance with the Fortran standard. A compiler is not required to diagnose and report all such errors; these are the programmer's responsibility. The 13.0.2 compiler did not diagnose the error. The 17.0.x compiler detects the error and reported it. You may use the older compiler and be responsible for any erroneous results, or, better, pinpoint and fix the error regardless of which compiler version you end up using.

0 Kudos
Reply