/*
* Copyright (c) 1999
* Steven G. Kargl.  All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
*    this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
*    this list of conditions and the following disclaimer in the documentation
*    and/or other materials provided with the distribution.
*
* This software is provided by Steven G. Kargl and contributors ``as is'' and
* any express or implied warranties, including, but not limited to, the implied
* warranties of merchantability and fitness for a particular purpose are
* disclaimed.  In no event shall Steven G. Kargl or contributors be liable for
* any direct, indirect, incidental, special, exemplary, or consequential
* damages (including, but not limited to, procurement of substitute goods or
* services; loss of use, data, or profits; or business interruption) however
* caused and on any theory of liability, whether in contract, strict liability,
* or tort (including negligence or otherwise) arising in any way out of the
* use of this software, even if advised of the possibility of such damage.
*/

#include <stdio.h>
#include <stdlib.h>

#ifdef PRN
#undef PRN
#endif
#define PRN(a)	fputs((a), stderr)

void usage(void) {

	PRN("f77 [options] file1 ... fileN [-Llibdir ...] [-llib ...]\n\n");
	PRN("options:\n");
	PRN("   -1        Execute DO LOOPs at least one time\n");
	PRN("   -72       Text appearing after column 72 is an error\n");
	PRN("   -C        Bounds checking on arrays\n");
	PRN("   -c        Compile but do not link\n");
	PRN("   -cd       Ignore DOUBLE COMPLEX intrinsic functions starting with cd\n");
	PRN("   -DSYM     Define SYM to 1 during preprocessing of Fortran code\n");
	PRN("   -DSYM=val Define SYM to val during preprocessing of Fortran code\n");
	PRN("   -E        Preprocess only\n");
	PRN("   -ext      Complain about Fortran 77 extensions\n");
	PRN("   -f        Accept free form source\n");
#ifdef SUN_FPP
	PRN("   -fixed    Assumes fixed format input source in the preprocessor\n");
	PRN("   -free     Accept free form source in the preprocessor\n");
#endif
	PRN("   -h        Fortran 66 HOLLERITH\n");
	PRN("   -hd       Fortran 66 HOLLERITH and align on double word boundary\n");
	PRN("   -I2       INTEGER and LOGICAL are treated as short int\n");
	PRN("   -IDIR     Search DIRectory for included files\n");
	PRN("   -i90      Do not recognize the F90 bit-manipulation intrinsics\n");
	PRN("   -kr       Use temporary variables to enforce Fortran evaluation\n");
	PRN("   -krd      Use DOUBLE PRECISION temporary variables\n");
	PRN("   -LDIR     Search DIRectory for libraries\n");
	PRN("   -lLIB     Link with LIBrary\n");
#ifdef SUN_FPP
	PRN("   -macro={} Sun's fpp -macro option [see fpp(1)]\n");
#endif
	PRN("   -o name   Write output to name\n");
	PRN("   -onetrip  See -1 above\n");
	PRN("   -R        Do not promote REAL functions to DOUBLE PRECISION\n");
	PRN("   -r        Cast values of REAL functions to REAL\n");
	PRN("   -r8       Promote REAL to DOUBLE PRECISION, COMPLEX to DOUBLE COMPLEX\n");
	PRN("   -T dir    Use dir as a directory for temporary storage\n");
#if defined(SUN_FPP) || defined(GNU_CPP)
	PRN("   -USYM     Undefine SYM during preprocessing of Fortran code\n");
	PRN("   -undef    Undefine all previously defined symbols during preprocessing\n");
#endif
	PRN("   -V        Echo command lines of forked processes\n");
	PRN("   -v        Verbose\n");
	PRN("   -w        Suppress warnings\n");
#ifdef SUN_FPP
	PRN("   -w0       Suppress warnings from preprocessing stage\n");
#endif
	PRN("   -w66      Suppress FORTRAN 66 warnings\n");
	PRN("   -w8       Suppress warnings when COMMON forces odd-word alignment\n");
	PRN("   -z        No implicit double complex\n");

	exit(0);
}


syntax highlighted by Code2HTML, v. 0.9.1