<?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 ANSI 77 code best procedure to upgrade in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791266#M32767</link>
    <description>&lt;DIV id="tiny_quote"&gt;
                &lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=142656" class="basic" href="https://community.intel.com/en-us/profile/142656/"&gt;David White&lt;/A&gt;&lt;/DIV&gt;
                &lt;DIV style="background-color: #e5e5e5; padding: 5px; border: 1px; border-style: inset; margin-left: 2px; margin-right: 2px;"&gt;&lt;I&gt;&lt;P&gt;The issues relating to compiling old code are more to do with obsolete features in the language, and, work arounds that were used at the time, which modern compilers will reject. A simple example was to pass variable size arrays as X(1), and then to access the whole array in a subroutine. Modern compilers will object to this, and you will need to pass the array as X(*).&lt;BR /&gt;&lt;BR /&gt;Other areas to watch for are named COMMON Blocks and whether these have different sizes in different routines.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/I&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;David,&lt;BR /&gt;You're talking about conversion of pre-f77 code and non-compliant extensions. The question was about f77 code. The notation x(*) for what is now called assumed size was standard in f77, but ifort accepts the common equivalent usage from before f77, without requiring special options.&lt;BR /&gt;As you hinted, the usual problems with so-called f77 code involve non-standard extensions, which would be equally troublesome with another f77 compiler.&lt;BR /&gt;There aren't compiler switches for all of the (very few) cases of true incompatibility between standards.&lt;BR /&gt;ifort attempts to deal with mis-matched common lengths, except for rejecting them under OpenMP.&lt;BR /&gt;&lt;BR /&gt;Opinions vary on the merits of re-writing f77 or f66 code to take advantage of more modern syntax, but such changes should be postponed until the application is working on the new platform.&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Thu, 17 Nov 2011 02:02:44 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2011-11-17T02:02:44Z</dc:date>
    <item>
      <title>ANSI 77 code best procedure to upgrade</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791263#M32764</link>
      <description>&lt;P&gt;I have old Fortan IV (ANSI 77) code I need to compile with your lastest compiler. Is it possible, and are there special complier switch needed. &lt;BR /&gt;&lt;BR /&gt;or&lt;BR /&gt;&lt;BR /&gt;What is the best procedure, use a specfic converter, complete re-write... etc&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2011 16:36:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791263#M32764</guid>
      <dc:creator>zekebryant</dc:creator>
      <dc:date>2011-11-16T16:36:05Z</dc:date>
    </item>
    <item>
      <title>ANSI 77 code best procedure to upgrade</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791264#M32765</link>
      <description>Hi&lt;BR /&gt;&lt;BR /&gt;SInce this issue is related to Fortran, I'll take the liberty to move this thread to the Fortran user forum so you can get a proper response there...&lt;BR /&gt;&lt;BR /&gt;thanks,&lt;BR /&gt;Kittur</description>
      <pubDate>Thu, 17 Nov 2011 00:29:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791264#M32765</guid>
      <dc:creator>KitturGanesh</dc:creator>
      <dc:date>2011-11-17T00:29:54Z</dc:date>
    </item>
    <item>
      <title>ANSI 77 code best procedure to upgrade</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791265#M32766</link>
      <description>&lt;P&gt;The issues relating to compiling old code are more to do with obsolete features in the language, and, work arounds that were used at the time, which modern compilers will reject. A simple example was to pass variable size arrays as X(1), and then to access the whole array in a subroutine. Modern compilers will object to this, and you will need to pass the array as X(*).&lt;BR /&gt;&lt;BR /&gt;Other areas to watch for are named COMMON Blocks and whether these have different sizes in different routines.&lt;BR /&gt;&lt;BR /&gt;A summary of the issues relating to modernizing old code can be found at &lt;BR /&gt;&lt;A href="http://fortranwiki.org/fortran/show/Modernizing+Old+Fortran"&gt;http://fortranwiki.org/fortran/show/Modernizing+Old+Fortran&lt;/A&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;David&lt;/P&gt;</description>
      <pubDate>Thu, 17 Nov 2011 01:08:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791265#M32766</guid>
      <dc:creator>DavidWhite</dc:creator>
      <dc:date>2011-11-17T01:08:48Z</dc:date>
    </item>
    <item>
      <title>ANSI 77 code best procedure to upgrade</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791266#M32767</link>
      <description>&lt;DIV id="tiny_quote"&gt;
                &lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=142656" class="basic" href="https://community.intel.com/en-us/profile/142656/"&gt;David White&lt;/A&gt;&lt;/DIV&gt;
                &lt;DIV style="background-color: #e5e5e5; padding: 5px; border: 1px; border-style: inset; margin-left: 2px; margin-right: 2px;"&gt;&lt;I&gt;&lt;P&gt;The issues relating to compiling old code are more to do with obsolete features in the language, and, work arounds that were used at the time, which modern compilers will reject. A simple example was to pass variable size arrays as X(1), and then to access the whole array in a subroutine. Modern compilers will object to this, and you will need to pass the array as X(*).&lt;BR /&gt;&lt;BR /&gt;Other areas to watch for are named COMMON Blocks and whether these have different sizes in different routines.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/I&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;David,&lt;BR /&gt;You're talking about conversion of pre-f77 code and non-compliant extensions. The question was about f77 code. The notation x(*) for what is now called assumed size was standard in f77, but ifort accepts the common equivalent usage from before f77, without requiring special options.&lt;BR /&gt;As you hinted, the usual problems with so-called f77 code involve non-standard extensions, which would be equally troublesome with another f77 compiler.&lt;BR /&gt;There aren't compiler switches for all of the (very few) cases of true incompatibility between standards.&lt;BR /&gt;ifort attempts to deal with mis-matched common lengths, except for rejecting them under OpenMP.&lt;BR /&gt;&lt;BR /&gt;Opinions vary on the merits of re-writing f77 or f66 code to take advantage of more modern syntax, but such changes should be postponed until the application is working on the new platform.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 17 Nov 2011 02:02:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791266#M32767</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2011-11-17T02:02:44Z</dc:date>
    </item>
    <item>
      <title>ANSI 77 code best procedure to upgrade</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791267#M32768</link>
      <description>Most F77 programs will compile and run without problems in Intel Fortran. There are a handful of places where semantics changed in Fortran 90 and later revisions. The /f77rtl option addresses I/O changes, and there are some options under /assume that might be useful, but my recommendation is to just try it and see what happens.</description>
      <pubDate>Thu, 17 Nov 2011 04:56:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/ANSI-77-code-best-procedure-to-upgrade/m-p/791267#M32768</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2011-11-17T04:56:03Z</dc:date>
    </item>
  </channel>
</rss>

