Loading...
You are not logged-in Login/Register





  • Posts   Search Threads
  • GroundselNovember 19, 2008 12:35 PM PST   
    Locally Defined Symbol Imported

    I imagine this has come up before in various guises.  I would like to get rid of WARNING messages by means other than simply switching them off (too much like shooting the messenger).  Our application features a number of dll's some of which make use of a COMMON block within a module.  (This was to get around the problem of exporting module EQUIVALENCE variables - we export a COMMON block in stead.)  On the other hand the routines within the dll also make use of the exported COMMON block and hence the warning messages "Locally defined symbol xxxxx imported in yyyyy."

    Does anyone have a way of getting around this and avoiding the warnings.  I have to add that no harm seems to be done so far as I have been able to tell.

     

    Tom



    Steve Lionel (Intel)November 20, 2008 3:43 AM PST
    Rate
     
    Re: Locally Defined Symbol Imported

    The warning is harmless.  The only way to get rid of it is to add it to the list of messages to "ignore" in the linker properties.  You get this when a DLLIMPORT is seen for a symbol defined in the linked image.  That will happen if you DLLEXPORT something in a module and then USE that module.



    Steve

    Attaching or including files in a post
    Doctor Fortran blog
    @DoctorFortran on Twitter

    GroundselNovember 24, 2008 1:18 PM PST
    Rate
     
    Re: Locally Defined Symbol Imported

    Thanks, Steve,

    That is what I expected you would say.

    Tom



    onkelhotteNovember 22, 2011 5:29 AM PST
    Rate
     
    Re: Locally Defined Symbol Imported

    Hi Steve,

    same problem here... But I do not find that option to turn it off (I´m still using IVF 11.0).

    Or is it now possible to change the code so that I can use DLLEXPORT without getting the warning messages?

    Markus

    Edit: When I use these options (/ignore:4049 /ignore:4217) in linker command line, most of the warning messages are gone. But not this one, which has no linker warning number (locally defined symbol imp__PROTEX_mp_USERCHECK imported). Is there a solution for this as well?

    module Protex
    
    type userCheckType
        character*32 :: hash
        character*10 :: name
    end type
    
    !   Number of User
    type(userCheckType) userCheck(2)
    !DEC$ ATTRIBUTES DLLEXPORT :: userCheck
    
    end module Protex
    
    ! ***************************************************************************
    subroutine initUserCheck()
    !DEC$ ATTRIBUTES DLLEXPORT :: initUserCheck
    
    use Protex
    
    implicit none
    
    userCheck(1)%hash = "A1C1BF7ECB23F004CDA690E3D45D11213FFBBCA1"
    userCheck(1)%name = "MaxMueller"
    
    userCheck(2)%hash = "906FB69A221B0429D2A86B34E2FA6C1078AB9F06"
    userCheck(2)%name = "John Doe"
    
    end subroutine initUserCheck


    Steve Lionel (Intel)November 23, 2011 8:05 AM PST
    Rate
     
    Re: Locally Defined Symbol Imported

    Markus,, you did not show me the actual text of the message, but I am guessing that this is coming from the Intel "pre-linker", xilink.  This problem was fixed in version 12.0 - as of that version, xilink honors the /ignore switch.

    Steve

    Attaching or including files in a post
    Doctor Fortran blog
    @DoctorFortran on Twitter

    onkelhotteNovember 28, 2011 5:49 AM PST
    Rate
     
    Re: Locally Defined Symbol Imported

    This is the actual linker warning:

    warning : locally defined symbol __imp__PROTEX_mp_USERCHECK imported


    We´ll switch to XE in January. At the end of the year our company is so poor that we can´t afford a new license ;-)

    Markus

    Steve Lionel (Intel)November 28, 2011 10:31 AM PST
    Rate
     
    Re: Locally Defined Symbol Imported

    Ok, thanks.  The newer compiler will take care of the problem.

    Steve

    Attaching or including files in a post
    Doctor Fortran blog
    @DoctorFortran on Twitter

Forum jump:  

Intel Software Network Forums Statistics

16,376 users have contributed to 46,362 threads and 164,027 posts to date.

In the past 24 hours, we have 11 new thread(s) 27 new posts(s), and 25 new user(s).

In the past 3 days, the most popular thread for everyone has been Program compiles in release but not debug The most posts were made to You need to show us the whole The post with the most views is try_pop in concurrent_queue

Please welcome our newest member fruitbrown


For more complete information about compiler optimizations, see our Optimization Notice.