[comp.sys.sun] Fortran portability warning

georgec@boris.mscs.mu.edu (George Corliss) (07/23/90)

Veteran Fortran hackers may already know this, but it was news to me.  To
retain absolute portability in your Fortran programs, avoind the backslash
character, even in literal fields.  There follows a little test program to
demonstrate.

George Corliss
Marquette University
georgec@boris.mscs.mu.edu

c  PORTABILITY WARNING
c  Author:  George Corliss, 22-JUL-1990
c  Purpose: Test Sun Fortran compiler handling of "\" character.
c  Conclusion:  The backslach "\" character is treated as a C-like 
c               escape character.  "\t" = <TAB>, "\n" = <RETURN>, etc.
c  AT&T 3B15 Unix system gave the same results as the Sun.
c  VAX VMS gave the (naively) expected results.

      write (6, 1010)
 1010 format (' \/\/\/\/\/')
c  Sun + AT&T output:  /////
c  Vax output       :  \/\/\/\/\/

      write (6, 1020)
 1020 format (' \\/\\/\\/\\/\\/')
c  Sun + AT&T output:  \/\/\/\/\/
c  Vax output       :  \\/\\/\\/\\/\\/

      write (6, 1030)
 1030 format (' \tGeorge\n Corliss')
c  Sun + AT&T output:         George
c                      Corliss
c  Vax output       :  \tGeorge\n Corliss

c1040 format (' \/\/\/\/\')
c     With this line, I get the compiler output:
c f77 testslash.f
c testslash.f:
c  MAIN:
c "testslash.f", line 9: Error: unbalanced quotes; closing quote supplied
c "testslash.f", line 9: Error: unbalanced parentheses, statement skipped
c "testslash.f", line 9: Error: unclassifiable statement

      stop
      end