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

Name in only-list does not exist

jansson
Beginner
4,217 Views

Hi,

How do I modify the call in my solution to make it compile okay with the 64bit compiler.

(I use ivf 11.0.075 [Intel 64].)

Compiling with 32bit version works.

I tried other procedures from ifwbase with similar error.

error #6580: Name in only-list does not exist. [MAKELANGID]

Thanks

/Magnus

0 Kudos
1 Solution
ZlamalJakub
New Contributor III
4,217 Views
[fortran]    program Console1
    use ifwinty
    implicit none
    integer iret
    interface !lib=ifwin.lib
    integer(2) function MakeLangID (usPrimaryLanguage, usSubLanguage) 
    !DEC$ ATTRIBUTES DEFAULT :: MakeLangID
    !DEC$ IF DEFINED(_M_IX86)
    !DEC$ ATTRIBUTES STDCALL, ALIAS : '_MakeLangID@8' :: MakeLangID 
    !DEC$ ELSE
    !DEC$ ATTRIBUTES STDCALL, ALIAS :  'MakeLangID'   :: MakeLangID 
    !DEC$ ENDIF
    integer*2 usPrimaryLanguage
    integer*2 usSubLanguage
    end function MakeLangID
    end interface


    iret = MakeLangID(int2(LANG_NEUTRAL),int2(SUBLANG_DEFAULT))

    end program Console1
[/fortran]


I have found that in 64 bit version of ifwbase module is not interface to MakeLangID so I copied it from ifwbase.f90 (on my PC c:/Program Files (x86)/Intel/Compiler/11.1/054/include/ifwbase.f90)

I did not search why it is.

Jakub

View solution in original post

0 Kudos
3 Replies
ZlamalJakub
New Contributor III
4,218 Views
[fortran]    program Console1
    use ifwinty
    implicit none
    integer iret
    interface !lib=ifwin.lib
    integer(2) function MakeLangID (usPrimaryLanguage, usSubLanguage) 
    !DEC$ ATTRIBUTES DEFAULT :: MakeLangID
    !DEC$ IF DEFINED(_M_IX86)
    !DEC$ ATTRIBUTES STDCALL, ALIAS : '_MakeLangID@8' :: MakeLangID 
    !DEC$ ELSE
    !DEC$ ATTRIBUTES STDCALL, ALIAS :  'MakeLangID'   :: MakeLangID 
    !DEC$ ENDIF
    integer*2 usPrimaryLanguage
    integer*2 usSubLanguage
    end function MakeLangID
    end interface


    iret = MakeLangID(int2(LANG_NEUTRAL),int2(SUBLANG_DEFAULT))

    end program Console1
[/fortran]


I have found that in 64 bit version of ifwbase module is not interface to MakeLangID so I copied it from ifwbase.f90 (on my PC c:/Program Files (x86)/Intel/Compiler/11.1/054/include/ifwbase.f90)

I did not search why it is.

Jakub

0 Kudos
Steven_L_Intel1
Employee
4,217 Views
Curious. There is a large chunk of ifwbase.f90 that is conditionalized for IA-32 only with a comment that the routines are "deprecated". I can't find any basis for this and will ask that the conditionalization be removed.
0 Kudos
jansson
Beginner
4,217 Views

Thank you very much!

Adding the interface solved my compile problems.

Regards,

Magnus

0 Kudos
Reply