<?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 Architecture specific code in Fortran in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5351317#M36447</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been experimenting with Fortran code that needs to run slightly differently on Alpha, VAX and IA64.&amp;nbsp; I've looked at compiler directives such as IF DEFINED.&amp;nbsp; The following works on Alpha (thanks for responses on comp.os.vms):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CDEC$ If Defined (Alpha)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; code compiled only on Alpha&lt;/P&gt;&lt;P&gt;CDEC$EndIf&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The manual shows how to define and test variables like Alpha above, but curiously doesn't list the variables that are predefined (such as Alpha).&amp;nbsp; On a VAX and IA64 the above code segment is not compiled.&amp;nbsp; I am told&amp;nbsp; (VAX) should also work (if the compiler is recent enough) for that machine but I can't test it as my VAX has decided not to boot any more. :-(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My real question is what variable should I use for the Itanium.&amp;nbsp; I've tried IA64, I64, IA_64, ITANIUM &amp;amp; INTEGRITY but they are ignored.&amp;nbsp; Anyone know what the correct compiler variable is for that architecture ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks&lt;/P&gt;&lt;P&gt;Tom Wade&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Oct 2011 12:50:31 GMT</pubDate>
    <dc:creator>Tom Wade_1</dc:creator>
    <dc:date>2011-10-03T12:50:31Z</dc:date>
    <item>
      <title>Architecture specific code in Fortran</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5351317#M36447</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been experimenting with Fortran code that needs to run slightly differently on Alpha, VAX and IA64.&amp;nbsp; I've looked at compiler directives such as IF DEFINED.&amp;nbsp; The following works on Alpha (thanks for responses on comp.os.vms):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CDEC$ If Defined (Alpha)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; code compiled only on Alpha&lt;/P&gt;&lt;P&gt;CDEC$EndIf&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The manual shows how to define and test variables like Alpha above, but curiously doesn't list the variables that are predefined (such as Alpha).&amp;nbsp; On a VAX and IA64 the above code segment is not compiled.&amp;nbsp; I am told&amp;nbsp; (VAX) should also work (if the compiler is recent enough) for that machine but I can't test it as my VAX has decided not to boot any more. :-(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My real question is what variable should I use for the Itanium.&amp;nbsp; I've tried IA64, I64, IA_64, ITANIUM &amp;amp; INTEGRITY but they are ignored.&amp;nbsp; Anyone know what the correct compiler variable is for that architecture ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks&lt;/P&gt;&lt;P&gt;Tom Wade&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2011 12:50:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5351317#M36447</guid>
      <dc:creator>Tom Wade_1</dc:creator>
      <dc:date>2011-10-03T12:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: Architecture specific code in Fortran</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5351869#M36448</link>
      <description>&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; The Fortran documentation available on the web seems to be WAY out of date. There's nothing in the "HP Fortran for OpenVMS User Manual" about the /DEFINEcompiler qualifier (where I'd expect the defaults to be documented), or about the CDEC$ IF directives.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The release notes for HP Fortran Version 8.2 have this hint:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;3 New and Changed Features in Previous Releases
  3.1 New and Changed Features in V8.1 ECO 01....... 31
  3.2 New and Changed Features in V8.1.............. 33
  3.2.1 IA64 and _IA64_ Predefines Implemented...... 33&lt;/PRE&gt;&lt;P&gt;which &lt;STRONG&gt;&lt;EM&gt;might&lt;/EM&gt;&lt;/STRONG&gt; mean the strings you seek are "IA64" or "_IA64_" - there's no extra information in the body of the document. As far as I can tell this is the only use of the term "Predefines" anywhere, so I'm just guessing that it refers to predefined compiler symbols.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please lob a few cases at Customer Support, requesting they pull their fingers out and update the documentation (for that matter ALL OpenVMS documentation!)&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2011 23:57:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5351869#M36448</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2011-10-03T23:57:43Z</dc:date>
    </item>
    <item>
      <title>Re: Architecture specific code in Fortran</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5352641#M36449</link>
      <description>&lt;P&gt;John's inference seems to be right based on the experiment I posted in c.o.v in response to the same question there:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A target="_blank" href="https://groups.google.com/forum/#!topic/comp.os.vms/b31qB6Mvrcs"&gt;https://groups.google.com/forum/#!topic/comp.os.vms/b31qB6Mvrcs&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2011 15:26:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5352641#M36449</guid>
      <dc:creator>Craig A Berry</dc:creator>
      <dc:date>2011-10-04T15:26:24Z</dc:date>
    </item>
    <item>
      <title>Re: Architecture specific code in Fortran</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5354569#M36450</link>
      <description>&lt;P&gt;&lt;EM&gt;The tag is IA64. Below is a program that demonstrates this. Be aware that on VAX you only have the F77 compiler, so the CDEC$ DEFINED does not work there. I have done a lot of work on a "make" tool that is architecture aware (for example to create the freeware tool DIX).&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;﻿﻿﻿﻿﻿﻿program t&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;cdec$ if defined (ALPHA)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;write(*,*) "on alpha'&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;cdec$ endif&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;cdec$ if define (IA64)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;write(*,*) 'On IA64'&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;cdec$ end&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;On alpha (version f95 8.2) this results in 'On alpha' , on integrity (version 8.2), this prints 'on ia64' &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Fekko&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Oct 2011 13:09:09 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/architecture-specific-code-in-fortran/m-p/5354569#M36450</guid>
      <dc:creator>Fekko Stubbe</dc:creator>
      <dc:date>2011-10-06T13:09:09Z</dc:date>
    </item>
  </channel>
</rss>

