03/03/89 fortran, ft Syntax as a command: ft path {-control_args} Function: invokes the FORTRAN compiler. Arguments: path is the pathname of a FORTRAN source program; you need not give the fortran suffix. The archive component pathname convention is allowed. Control arguments: -ansi66 interprets the program according to the 1966 standard for FORTRAN, with Multics FORTRAN extensions. (Default) -ansi77 interprets the program according to the 1977 standard for FORTRAN, with Multics FORTRAN extensions. -auto indicates that all local variables are allocated automatic storage in the stack frame. Ignored in any program unit in which a save or automatic statement appears. (Default) -auto_zero initializes to zero, when allocated, automatic storage for local variables. (Default) -binary_floating_point, -bfp makes the internal representation of floating point numbers be 2 ** exponent * mantissa. (Default) -brief, -bf writes error messages in short form. -brief_table, -bftb generates partial symbol table giving correspondence between source line numbers and object locations. -card specifies that the source segment is in card-image format. -check, -ck checks the source segment for syntactic and semantic errors. Code generation is skipped; no object segment is produced. -check_multiply, -ckmpy produces code that checks for integer multiplication overflow. (Default, if you supply -ansi77 but not -optimize) -debug_io, -dbio establish a new command level after a runtime I/O error. -default_full, -dff sets the default optimizer to "full_optimize" (see -optimize). (Default) -default_safe, -dfs sets the default optimizer to "safe_optimize" (see -optimize). -fold maps uppercase letters to lowercase form. -full_optimize, -full_ot invokes the full optimizer to speed up program execution and reduce its size. -free specifies that the source segment is in free-form format. (Default) -hexadecimal_floating_point, -hfp allows the use of HFP numbers. Real, complex, and double-precision numbers can have four times more magnitude in HFP mode at the expense of some precision. Compilations using -hfp and execution of any such programs require rw access to >sc1>admin_acs>Fortran_hfp.acs. This feature is only supported on the DPS8 hardware. Your site may disallow the use of HFP code by not creating the above access control segment or by denying access to it. -la_auto is used when more automatic storage is required by a program than would fit in stackframes/linkage sections. Individual arrays must not exceed 255K words. (See -very_large_array.) -la_static is used when more static storage is required by a program than would fit in stackframes/linkage sections. Individual arrays must not exceed 255K words. (See -very_large_array.) -large_array, -la is used when more automatic or static storage is required by a program than would fit in stackframes/linkage sections. Individual arrays and common blocks must not exceed 255K words. (See -very_large_array.) It implies -la_auto and -la_static. -line_numbers, -ln gives a source segment with line numbers. -list, -ls produces complete source program listing plus an assembly-like listing. -long, -lg writes error messages in long form. (Default) -long_profile, -lpf generates extra code to meter execution of individual statements using virtual CPU time and page fault measurements. -map produces complete source program listing. -no_auto_zero does not initialize to zero, when allocated, automatic storage for local variables; that is, initial values of variables are undefined. It is faster than -auto_zero. -no_check_multiply, -nckmpy does not produce code that checks for integer multiplication overflow. (Default, if you specify -ansi66 or -optimize) -no_debug_io, -ndbio does not establish a new command level after a runtime I/O error. (Default) -no_fold does not map uppercase letters into lowercase form. (Default) -no_large_array, -nla suppresses -large_array, -la_auto, and -la_static. (Default) -no_line_numbers, -nln does not give a source segment with line numbers. -no_map produces no program listing. (Default) -no_optimize, -not performs no optimizations. (Default) -no_stringrange, -nstrg does not produce range-checking code for all substring references. (Default, if you use -ansi66 or -optimize) -no_subscriptrange, -nsubrg does not produce range-checking code for all subscripted array references. (Default, if you supply -ansi66 or -optimize) -no_table, -ntb does not generate a runtime symbol table. (Default, if you give -optimize) -no_version does not print out the version of the current compiler. -no_very_large_array, -nvla suppresses -vla, -vla_auto, -vla_static, and -very_large_common. (Default) -no_vla_parm inhibits -vla_parm. (Default) -non_relocatable, -nrlc inhibits generation of relocation information by the compiler. The resulting object segment cannot be bound. -optimize, -ot invokes an extra compiler phase just before code generation to perform certain optimizations. -profile, -pf generates extra code to meter execution of individual statements. -relocatable, -rlc generates relocation information. (Default) -round rounds intermediate results of real and double-precision calculations before storing. (Default) -safe_optimize, -safe_ot like -optimize, but inhibits some code movement. -severityN, -svN, -severity N, -sv N prints only error messages whose severity is N or greater (where N is 1, 2, 3, or 4). (Default: 1) -static indicates that all local variables are allocated static storage so their values will be retained between invocations. Ignored in any program unit in which a save or automatic statement appears. -stringrange, -strg produces range-checking code for all substring references. (Default, if you give -ansi77 but not -optimize) -subscriptrange, -subrg produces range-checking code for all subscripted array references. (Default, if you specify -ansi77 but not -optimize) -table, -tb generates full symbol table. For use with the probe and debug commands. (Default, unless you use -optimize) -time, -tm prints table giving time (in seconds), number of page faults, and size of temporary area for each phase of the compiler. -time_ot prints out timing information on the subphases of the optimizer. -top_down optimizes loops using a top-down approach. -truncate, -tc truncates intermediate results of real and double-precision computations before storing. -version prints out the version of the FORTRAN compiler before compiling. -very_large_array, -vla is used when arrays or common blocks have sizes exceeding segment size (255K < array size or common block length < 2**24 [16M] words). It implies -large_array, -very_large_common, -vla_auto, -vla_parm, and -vla_static. -very_large_common, -vlc is used when common blocks have sizes exceeding segment size (255K < common block length < 2**24 [16M] words). It implies -vla_parm. -vla_auto is used when automatic arrays have sizes exceeding segment size (255K < array size < 2**24 [16M] words). It implies -la_auto and -vla_parm. -vla_parm is used in subroutines when parameters that are passed to them could come from very-large-array procedures. -vla_static is used when static arrays have sizes exceeding segment size (255K < array size < 2**24 [16M] words). It implies -la_static and -vla_parm. Notes: Mutually exclusive control arguments are-- -ansi66 and -ansi77 -card and -line_numbers -long_profile and -profile -optimize, -safe_optimize and -stringrange, -subscriptrange -round and -truncate -very_large_array, -vla_auto, -vla_static and -no_large_array For more information on the FORTRAN compiler and on using FORTRAN on Multics, see the Multics FORTRAN Reference Manual (AT58) and the Multics FORTRAN User's Guide (CC70). ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved