<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Migration on Fortran 2026</title>
    <link>https://fortran.sh3d.com.au/tags/migration/</link>
    <description>Recent content in Migration on Fortran 2026</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://fortran.sh3d.com.au/tags/migration/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>32 → 64-bit migration</title>
      <link>https://fortran.sh3d.com.au/expertise/migration-32-to-64/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://fortran.sh3d.com.au/expertise/migration-32-to-64/</guid>
      <description>&lt;p&gt;Moving a real Fortran ERP from 32-bit to 64-bit is rarely a recompile. Pointer sizes, integer kinds, file formats, third-party libraries, and decades of implicit assumptions all have to be found and fixed without breaking business logic that has been correct for thirty years.&lt;/p&gt;&#xA;&lt;p&gt;We have done this on a production ERP — see &lt;a href=&#34;https://fortran.sh3d.com.au/projects/profitool/&#34;&gt;Projects → Profitool&lt;/a&gt; — and we know what to look for.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-we-add-value&#34;&gt;Where we add value&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#where-we-add-value&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Auditing the codebase&lt;/strong&gt; for 32-bit assumptions: integer kinds, pointer arithmetic, record sizes, common blocks, EQUIVALENCE.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Driving the translation&lt;/strong&gt; with &lt;a href=&#34;https://fortran.sh3d.com.au/tools/promula/&#34;&gt;Promula / gmFortran&lt;/a&gt; and hand-tuned changes where the tool can&amp;rsquo;t decide.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Locking the result with tests&lt;/strong&gt; so the 64-bit build provably matches the 32-bit one before you cut over — see &lt;a href=&#34;testing/&#34;&gt;Expertise → Testing&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Operational cutover&lt;/strong&gt;: data file formats, on-disk layouts, third-party library upgrades, and rollback plans.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;talk-to-us&#34;&gt;Talk to us&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#talk-to-us&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;mailto:simon@unisolve.com.au&#34;&gt;simon@unisolve.com.au&lt;/a&gt; or&#xA;&lt;a href=&#34;mailto:scottp@dd.com.au&#34;&gt;scottp@dd.com.au&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
