Example: Use -Xlistwarnnn to suppress two warnings from a preceding example:
demo% f77 -Xlistwar338 -Xlistwar348 -XlistE -silent Repeat.f demo% cat Repeat.lst FILE "Repeat.f" program repeat 4 CALL nwfrk ( pn1 ) ^ **** ERR #418: argument "pn1" is real, but dummy argument is integer*4 See: "Repeat.f" line #14 4 CALL nwfrk ( pn1 ) ^ **** ERR #317: variable "pn1" referenced as integer*4 across repeat/nwfrk//prnok in line #21 but set as real by repeat in line #2 subroutine nwfrk 17 PRINT *, prnok ( ix ), fork ( ) ^ **** ERR #418: argument "ix" is integer*4, but dummy argument is real See: "Repeat.f" line #20 Date: Wed Feb 24 10:40:32 1999 Files: 2 (Sources: 1; libraries: 1) Lines: 26 (Sources: 26; Library subprograms:2) Routines: 5 (MAIN: 1; Subroutines: 3; Functions: 1) Messages: 5 (Errors: 3; Warnings: 2) demo%
Example: Explain a message and find a type mismatch in program ShoGetc.f:
demo% cat ShoGetc.f CHARACTER*1 c i = getc(c) END demo% f77 -silent ShoGetc.f Compile program demo% a.out Program waits for input... Z Type "Z" on keyboard. This causes run-time message. Why? Note: IEEE floating-point exception flags raised: Invalid Operation; See the Numerical Computation Guide, ieee_flags(3M) demo% f77 -XlistE -silent ShoGetc.f Compile with Global Program Checking demo% cat ShoGetc.lst and view listing FILE "ShoGetc.f" program MAIN 2 i = getc(c) ^ **** WAR #320: variable "i" set but never referenced 2 i = getc(c) ^ **** ERR #412: function "getc" used as real but declared as integer*4 Here is the error - function must be declared INTEGER. 2 i = getc(c) ^ **** WAR #320: variable "c" set but never referenced demo% cat ShoGetc.f Modify program to declare getc INTEGER and run again. CHARACTER*1 c INTEGER getc i = getc(c) END demo% f77 -silent ShoGetc.f demo% a.out Z Type "Z" on keyboard demo% Now no error.