[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::fortran

Title:Digital Fortran
Notice:Read notes 1.* for important information
Moderator:QUARK::LIONEL
Created:Thu Jun 01 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1333
Total number of notes:6734

1198.0. "INQUIRE CARRIAGECONTROL different VAX - Alpha" by GIDDAY::GILLINGS (a crucible of informative mistakes) Tue Feb 25 1997 18:08

    The following program returns different results on VAX and Alpha for
    some files.

        OPTIONS /EXTEND
        PROGRAM TEST
        CHARACTER*40    CNAME
        CHARACTER*20RTYPE, CRC, ORG
        WRITE (6,100)
100     FORMAT (' Input filename: ',$)
        READ (5,110) CNAME
110     FORMAT (A)
        OPEN (1,FILE=CNAME,STATUS='OLD',READONLY)
        INQUIRE(UNIT = 1, RECORDTYPE = RTYPE, CARRIAGECONTROL = CRC,
        1 ORGANIZATION = ORG)
        WRITE (6,200) RTYPE,CRC,ORG
200     FORMAT (' Record type =',A/' Carriagecontrol =',A/' Organisation =',A)
        END

    Using a NETSERVER.LOG file (PRN format),
    
    NETSERVER.LOG;167             File ID:  (12248,2,0)
    Size:            2/4          Owner:    [DECNET,FAL$SERVER]
    Created:   25-FEB-1997 22:21:53.42
    Revised:   25-FEB-1997 22:27:25.43 (1)
    Expires:   <None specified>
    Backup:    <No backup recorded>
    Effective: <None specified>
    Recording: <None specified>
    File organization:  Sequential
    Shelved state:      Online
    File attributes:    Allocation: 4, Extend: 0, Global buffer count: 0
                        No version limit
    Record format:      VFC, 2 byte header, maximum 77 bytes
    Record attributes:  Print file carriage control
    RMS attributes:     None
    Journaling enabled: None
    File protection:    System:RWED, Owner:RWED, Group:RE, World:R
    Access Cntrl List:  None
    
    when compiled with Alpha Digital Fortran 77 V7.0-6, the result is:
    
      Record type =VARIABLE
      Carriagecontrol =NONE
      Organisation =SEQUENTIAL
    
    Under VAX Digital Fortran V6.4-165, the result is
    
      Record type =VARIABLE
      Carriagecontrol =UNKNOWN
      Organisation =SEQUENTIAL
    
    The closest RMS attribute I can find is RAT which returns PRN on both
    VAX and Alpha. 
    
    There was a report about problems with INQUIRE and CARRIAGECONTROL back
    in 1993 in DEC_FORTRAN_ALPHA note 730.4, but that was supposed to have
    been fixed.
    
                                            John Gillings, Sydney CSC
T.RTitleUserPersonal
Name
DateLines
1198.1QUARK::LIONELFree advice is worth every centTue Feb 25 1997 21:006
    UNKNOWN is the correct value, though one could argue that the
    RECORDTYPE is wrong for both, since VFC can't be specified in Fortran.
    
    What does the user think they want?
    
    				Steve
1198.2consistency more important than correctness?GIDDAY::GILLINGSa crucible of informative mistakesWed Feb 26 1997 18:009
  Steve,

>    What does the user think they want?

    They don't seem to know exactly what they want, just that the VAX and Alpha
  compilers should give the same result, correct or otherwise :*). When I can
  get hold of the customer I'll see if I can get a straight answer.

						John Gillings, Sydney CSC
1198.3UNKNOWN now unknown?GIDDAY::GILLINGSa crucible of informative mistakesWed Feb 26 1997 20:4610
    Steve,
    
      The customer prefers "UNKNOWN" since that's what his code is
    expecting. It's odd that the Digital Fortran Reference Manual says
    there are only 3 keywords "FORTRAN", "LIST" and "NONE". Yet VAX
    FORTRAN and Digital Fortran/VAX adds "UNKNOWN" (despite the docs).
    
      Has "UNKNOWN" been dropped? Is this a deliberate decision? 
    
    						John Gillings, Sydney CSC
1198.4QUARK::LIONELFree advice is worth every centThu Feb 27 1997 11:097
You must be looking at the OPEN documentation.  The INQUIRE documentation does
list 'UNKNOWN'.

We'll fix the Alpha RTL to return 'UNKNOWN' for types not corresponding to
an OPEN keyword (though I imagine we'll leave VFC='VARIABLE' alone.)

			Steve