title: Is there a setting or workaround in gFortran to the Microsoft Fortran 5.1 $STORAGE Metacommand
body: <p>We have some (a huge libray or 40+ modules) old Fortran code than needs updating and compiling with a more recent compiler.</p>
  
  <p>Is there anyway to set gFortran  to allow for the $STORAGE:2 metacommand as used by old MS Fortran 5.1?</p>
  
  <p>According to: <a href="https://support.microsoft.com/en-us/kb/51471" rel="nofollow noreferrer">https://support.microsoft.com/en-us/kb/51471</a></p>
  
  <blockquote>
    <p>The $STORAGE:n metacommand allocates "n" bytes of memory for all INTEGER and LOGICAL variables. For example, when an application specifies the $STORAGE:2 metacommand and declares an INTEGER variable B, the compiler allocates two bytes for B instead of four. The $STORAGE metacommand does not affect memory allocation when a declaration includes an explicit length specification, such as an INTEGER*2 or INTEGER*4. </p>
  </blockquote>
  
  <p>I wish it was a simple matter of rewriting the variable declarations to use integer*2. However the programmer who wrote it, uses tons of implicit variable declarations and many EQUIVALENCE statements everywhere that are troublesome to deal with:</p>
  
  <pre><code>$STORAGE:2
      CHARACTER*2 ABC
      EQUIVALENCE (ABC,ITT) 
  </code></pre>