Go to the first, previous, next, last section, table of contents.


Output Assumed To Flush

For several versions prior to 0.5.20, g77 configured its version of the libf2c run-time library so that one of its configuration macros, `ALWAYS_FLUSH', was defined.

This was done as a result of a belief that many programs expected output to be flushed to the operating system (under UNIX, via the fflush() library call) with the result that errors, such as disk full, would be immediately flagged via the relevant ERR= and IOSTAT= mechanism.

Because of the adverse effects this approach had on the performance of many programs, g77 no longer configures libf2c (now named libg2c in its g77 incarnation) to always flush output.

If your program depends on this behavior, either insert the appropriate `CALL FLUSH' statements, or modify the sources to the libg2c, rebuild and reinstall g77, and relink your programs with the modified library.

(Ideally, libg2c would offer the choice at run-time, so that a compile-time option to g77 or f2c could result in generating the appropriate calls to flushing or non-flushing library routines.)

See section Always Flush Output, for information on how to modify the g77 source tree so that a version of libg2c can be built and installed with the `ALWAYS_FLUSH' macro defined.


Go to the first, previous, next, last section, table of contents.