<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Mixed mode linking in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953623#M20193</link>
    <description>One way would be for you to provide a MODULE with INTERFACEs to your routines - and for each routine, add:&lt;BR /&gt;&lt;BR /&gt;!DEC$ ATTRIBUTES DEFAULT&lt;BR /&gt;&lt;BR /&gt;to its interface block.  This was new in 6.1A, so you need to be at that version or higher.&lt;BR /&gt;&lt;BR /&gt;The customer would then have to USE your module to get the declarations, instead of the wrappers.&lt;BR /&gt;&lt;BR /&gt;Another way is to write the wrapper something like this:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="+1"&gt;&lt;PRE&gt;
SUBROUTINE somesub_ (CHARARG,INTARG)
CHARACTER*(*) CHARARG
INTEGER INTARG
CALL SOMESUB (%REF(CHARARG),%VAL(LEN(CHARARG)),INTARG)
END
&lt;/PRE&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;If the %REF doesn't work, use %VAL(LOC(CHARARG))&lt;BR /&gt;&lt;BR /&gt;Steve</description>
    <pubDate>Tue, 05 Jun 2001 21:28:19 GMT</pubDate>
    <dc:creator>Steven_L_Intel1</dc:creator>
    <dc:date>2001-06-05T21:28:19Z</dc:date>
    <item>
      <title>Mixed mode linking</title>
      <link>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953622#M20192</link>
      <description>Hi &lt;BR /&gt; &lt;BR /&gt;We create a library of subroutines compiled using all of the defaults for names, underscores etc &lt;BR /&gt; &lt;BR /&gt;We have a customer who wishes to link to this library but his in-house &lt;BR /&gt;conventions mean that he needs to compile using &lt;BR /&gt; &lt;BR /&gt;/assume:underscore  &lt;BR /&gt;/iface:nomixed_str_len_arg  &lt;BR /&gt;/iface:cref  &lt;BR /&gt;/names:lowercase  &lt;BR /&gt; &lt;BR /&gt;He has got around most of the problems by creating some wrappers &lt;BR /&gt;like this &lt;BR /&gt; &lt;BR /&gt;      SUBROUTINE dienam_(IDENUM,INAME,IUNT,IEXIT) &lt;BR /&gt;      DIMENSION     INAME(*) &lt;BR /&gt;      CALL DIENAM(IDENUM,INAME,IUNT,IEXIT) &lt;BR /&gt;      RETURN &lt;BR /&gt;      END &lt;BR /&gt; &lt;BR /&gt;which he compiles with /names:as_is &lt;BR /&gt; &lt;BR /&gt;The problem is with character arguments. We cannot work out how &lt;BR /&gt;to compile his code with /iface:nomixed_str_len_arg  &lt;BR /&gt; &lt;BR /&gt;an access our code with 'string length after argument' &lt;BR /&gt; &lt;BR /&gt;Any suggestions would be most welcome &lt;BR /&gt; &lt;BR /&gt;TIA &lt;BR /&gt; &lt;BR /&gt;Geoff</description>
      <pubDate>Tue, 05 Jun 2001 17:35:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953622#M20192</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-06-05T17:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Mixed mode linking</title>
      <link>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953623#M20193</link>
      <description>One way would be for you to provide a MODULE with INTERFACEs to your routines - and for each routine, add:&lt;BR /&gt;&lt;BR /&gt;!DEC$ ATTRIBUTES DEFAULT&lt;BR /&gt;&lt;BR /&gt;to its interface block.  This was new in 6.1A, so you need to be at that version or higher.&lt;BR /&gt;&lt;BR /&gt;The customer would then have to USE your module to get the declarations, instead of the wrappers.&lt;BR /&gt;&lt;BR /&gt;Another way is to write the wrapper something like this:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="+1"&gt;&lt;PRE&gt;
SUBROUTINE somesub_ (CHARARG,INTARG)
CHARACTER*(*) CHARARG
INTEGER INTARG
CALL SOMESUB (%REF(CHARARG),%VAL(LEN(CHARARG)),INTARG)
END
&lt;/PRE&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;If the %REF doesn't work, use %VAL(LOC(CHARARG))&lt;BR /&gt;&lt;BR /&gt;Steve</description>
      <pubDate>Tue, 05 Jun 2001 21:28:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953623#M20193</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2001-06-05T21:28:19Z</dc:date>
    </item>
    <item>
      <title>Re: Mixed mode linking</title>
      <link>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953624#M20194</link>
      <description>Steve &lt;BR /&gt; &lt;BR /&gt;Thanks for the ideas, I will give them a go. &lt;BR /&gt; &lt;BR /&gt;Geoff</description>
      <pubDate>Tue, 05 Jun 2001 22:56:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Mixed-mode-linking/m-p/953624#M20194</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-06-05T22:56:53Z</dc:date>
    </item>
  </channel>
</rss>

