home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.fortran      Putting John Backus on a giant pedestal      5,127 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,947 of 5,127   
   R Daneel Olivaw to Steven G. Kargl   
   Re: converting a 700,000+ line Fortran 7   
   17 Apr 25 12:24:22   
   
   XPost: comp.lang.c++   
   From: Danni@hyperspace.vogon.gov   
      
   Steven G. Kargl wrote:   
   > On Wed, 16 Apr 2025 07:44:08 +0000, Lawrence D'Oliveiro wrote:   
   >   
   >> On Tue, 15 Apr 2025 18:28:31 -0500, Lynn McGuire wrote:   
   >>   
   >>> On 4/15/2025 6:14 PM, Lawrence D'Oliveiro wrote:   
   >>>>   
   >>>> On Mon, 14 Apr 2025 23:50:32 -0500, Lynn McGuire wrote:   
   >>>>   
   >>>>> Got rid of a few nasty bugs like:   
   >>>>>   
   >>>>>          iword = 6Habcdef   
   >>>>   
   >>>> Surely whether that’s a bug or not would depend on the type of   
   “iword”   
   >>>> ...   
   >>>   
   >>> iword is a implicit 4 byte integer capable of storing 4 characters.   
   >>   
   >> I thought you got rid of all the implicit typing.   
   >   
   > Implicit typing has nothing do with numeric storage size.   
   >   
   > program foo   
   >     use iso_fortran_env, only : numeric_storage_size   
   >     integer :: j = 0   
   >     i = 6Habcdef    ! i has an implicit type of default integer kind   
   >     j = 6Habcdef    ! j has an explicit type of default integer kind   
   >     print *, i, j   
   >     print *, numeric_storage_size   
   > end program foo   
   >   
   > % gfcx -std=legacy -o z a.f90   
   > % ./z   
   >    1684234849  1684234849   
   >            32   
   >   
   > Many (most? all?) systems today likely have a 4-byte internal   
   > representation for a default integer.  The Fortran standard simply   
   > states that 'i' and 'j' occupy one numeric storage unit.  Here,   
   > the size of that unit is 32 bits.   
   >   
   > PS: The gfortran's -Wall option reports a few warnings with   
   > the above code.   
   >   
   > % gfcx -std=legacy -o z -Wall a.f90   
   > a.f90:26:7:   
   >   
   >     26 |    i = 6Habcdef   
   >        |       1   
   > Warning: Conversion from HOLLERITH to INTEGER(4) at (1)   
   > [-Wconversion]   
   > a.f90:26:7:   
   >   
   >     26 |    i = 6Habcdef   
   >        |       1   
   > Warning: The Hollerith constant at (1) is truncated in   
   > conversion to 'INTEGER(4' [-Wcharacter-truncation]   
   >   
   > and similar warnings for 'j'.   
   >   
      
   I believe you'll find that some of that syntax did not exist under   
   Fortran 77, in particular the "use" line.   
   Did Lynn convert to F90 first?   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca