                                                                 22-Sep-1993

			README file

			    for

	DEC Fortran for the Microsoft Windows NT operating
	system on AXP systems


1.0 DEC Fortran for Microsoft Windows NT operating system on AXP systems

DEC Fortran is an efficient, highly optimizing Fortran compiler built on 
Digital's proven Fortran front end architecture, and Digital's new common back
end and compiler shell technology.

The compiler and its generated code run on Microsoft Windows NT operating 
system on AXP systems V1.0.

DEC Fortran for AXP is highly compatible with DEC Fortran for OSF/1 AXP, 
DEC Fortran for OpenVMS AXP, DEC Fortran for RISC/ULTRIX, and DEC Fortran on
VAX/VMS {formerly known as VAX FORTRAN on VAX/VMS and its HPO option}.

The compiler version identification string appearing in the page header of
in the listing file is:

	"DEC Fortran T1.0-423"

In the text that follows, the abbreviation "DFANT" stands for DEC Fortran for
Microsoft Windows NT operating system on AXP systems.

2.0 Specific Information about DFANT T1.0

This is field test software of the first version of DFANT.  There is no
guarentee of upward compatibility of field test versions during the T1.0
field test.  If you have some previous version of DFANT, you will have to
recompile all Fortran sources with the current version and use only the
libraries and tools that ship with the current version.  When DFANT v1.0
is released, all Fortran sources will again have to be recompiled and the
v1.0 libarries and tools used.

2.1 Important Notes about DFANT T1.0:

    o	The f77 driver takes both / and - prededing command line options.

    o	Some command line options that may be of interest:

	    -	/OPTIMIZE:n

	    -	/INTEGER_SIZE:16 | 32 | 64

	    -	/REAL_SIZE: 32 | 64

	    -	/RECURSIVE

	    -	/CONVERT: foreign-file support

    o	/SYNCHRONIZE_EXCEPTIONS tells DFANT to generate TRAPB instructions
	after every floating point instruction.  This is a very expensive
	but effective way to synchronize the instruction stream containing
	floating point exceptions so the failing instruction can be accurately
	located by the debugger or a handler.

    o	POINTERs are treated as 32-bit values in all contexts.

	POINTERs should not be declared a specific type - they are implicitly 
	INTEGER*4.

    o	The following command line options are the default:

	    -	/OPTIMIZE:4 is the highest level of optimization and is
		the default.

	    -	/NON_DLL is the default and causes images to be linked with
		static instead of dynamically linked libraries.

	    -	/ALIGN:RECORDS and /ALIGN:NOCOMMONS are the default

		This tries to balance compatibility (by packing COMMON) while
		offering high performance (naturally aligned RECORDs).

		You can use the "CDEC$ OPTIONS /ALIGN" directive to control
		alignment in specific source constructs.

	    -	/ASSUME:NOBACKSLASH is the default and treats the '\' character
		in quoted literals as flagging a C-style escape sequence.

	    -	/ASSUME:UNDERSCORE is the default and causes external names
		to have an underscore {"_"} appended to them.

2.2 Known problems in DFANT T1.0:

    o	DFANT currently does not generate code to check for floating
	underflow.

	{Note that DFANT can check for integer overflow with /CHECK
	OVERFLOW.  Floating overflow checking is always on.}
	
    o	DFANT does not provide a mechanism to manipulate IEEE floating
	point exceptional values (NaN, Inf, denormalized numbers).

    o	The PRINT/DELETE disposition in the CLOSE statement is not supported.

    o	The fsplit utility may fail to create the output file if you are using
	it in a FAT partition.

	fsplit invents a file name for each routine based on the routine name.  
	If the routine name is longer than 8 characters, the fsplit utility
	can not sucessfully create the output file.      

    o	Limitations under fpp

	    -	The /C command line option to the Fortran preprocessor {fpp}
		does not work as documented in the help file.  Currently,
		C-style comments are passed through to the output file by
		default.  Currently using /C causes these comments to be
		stripped from the preprocessed source.

		In the final DFANT product, fpp will strip C-style comments
		by default;  /C will cause fpp to pass them through.

    o	Limitations under windbg

	    -	The debugger starts in the Fortran initialization code
		instead of the user's main routine.

	    -	By default, all variables must be typed in uppercase
		in the debugger.  Use /NAMES:AS_IS to allow mixed case
		names.

	    -	Examining COMPLEX types causes an error.

	    -	Examining CHARACTERs displays their address.

	    -	Examining multi-dimension arrays does not work.

		You can examine single dimension arrays with C zero-based
		array syntax.

	    -	Examining RECORDs as a whole does not work.

		You can display fields using the C dot operator (REC1.F1).

3.0 Using Internet Mail for Problem Report

    Digital appreciates your comments. If you have any problems, comments, or 
    suggestions about DEC Fortran, documentation, or packaging please feel
    free to send Internet mail to:

          pfortran@tle.enet.dec.com

    A sample Problem Report Template can be found in

          \dec\f77\bugreprt.txt

    You may not receive a personal reply to your query but we will attempt
    to address all issues in the final product.
