Question 1:
Forcheck produces many messages and does not recognize my Fortran 90 code.
Answer 1:
Your source is probably in Fortran 90 free form. Specify the free-form option (Options/Project options: Free form source in the Windows IDE, /ff for Windows command line, -ff on Unix).
Question 2:
Forcheck does not recognize Fortran 90 keywords and syntax though I have specified the Fortran 90, Fortran 95, or Fortran 2003 option (/f90, /f95, or /f03 on Windows, -f90, -f95, or -f03 on Unix).
Answer 2:
The syntax which Forcheck accepts is determined by the compiler emulation used, which can be chosen by Options/Preferences: Compiler Emulation in the Windows IDE, or setting the environmental FCKCNF when using the command line. So you have to choose a configuration file of a Fortran 90. Fortran 95, or Fortran 2003 compiler to analyze Fortran 90, Fortran 95. or Fortran 2003 code. The options f77, f90, f95 and f03 merely request Forcheck to flag all non-standard syntax used.
Question 3:
I like to use standard Fortran 90, 95, or 2003 only, without compiler extensions, to develop transportable code.
Answer 3:
You can select plain Fortran 90, 95 or 2003 (Options/Preferences: Compiler Emulation in the Windows IDE, or setting the environmental FCKCNF when using the command line).
However, the data type information and data types supported still depend on the compilers used. So adapt the configuration file to your processor and situation. You also could strip down the configuration file of one of your compilers, or just specify the /f90, /f95, or /f03 option.
Question 4:
Forcheck complains that it cannot find a used module.
Answer 4:
Forcheck must analyze modules before they can be referenced. So you have to add the source file containing the module source or containing the interface descriptions to the project. You also can analyze modules in a separate run and place the result in a Forcheck library file. When analyzing the program units which references the module, you must include the library file in the analysis. Input files are analyzed in the correct order automatically, though you still have to specify all input files containing the referenced modules. Compiler specific compiled module files, like .MOD files, cannot be handled by Forcheck because their format is proprietary. Instead the source file as supplied by the compiler vendor must be included in the project.
Question 5:
How can I specify a search path for include files?
Answer 5:
Using the windows IDE select Options/Project Options and choose include directories. Using the Windows command line specify /IP:dir_list. The option on Unix is -I dir_list. Multiple paths can be specified separating them by a ";"
Question 6:
Does Forcheck handle conditional compilation and other preprocessing commands?
Answer 6:
Forcheck handles preprocessor commands and compiler directives. The compiler directive string can be specified in the compiler emulation file which is selected by choosing a compiler emulation. Moreover Forcheck handles cpp preprocessing with macro substitution by adding Fortran extension 7 to the list of Fortran extensions in the compiler emulation file.
Question 7:
Which options should I use for an optimal analysis?
Answer 7:
This depends very much on the situation.
Some options have to be set correctly to interpret the source correctly:
- /FF if the source code is in Fortran 90 free-form source code.
- /AC if the fixed form source lines extends beyond column 72, or beyond column 132 for free-form source code.
- /CN:c if the maximum number of continuation lines exceeds the number specified in the compiler emulation file.
- /I2, /I4, or /I8 if default integers have a different size than specified in the compiler emulation file.
For existing old Fortran 77 code which mixes integers and logicals you may need to specify /RE to prevent too many false alarms. For badly structured, existing spaghetti code you should not specify /RI. For optimal detection of potential problems when restructuring or developing new code specify /DC/EX/RI. To verify portability specify /F77, /F90, /F95, or /F03 and /OB.
First analyze and correct separate program units and place the result at wish in a Forcheck library file. Then analyze the consistency of the entire program specifying /CO.
Question 8:
How can I view and print the results of the analysis from the Forcheck for Windows IDE?
Answer 8:
The analysis results are displayed partly in the window with the title "Progress of Forcheck" which shows up when analyzing your source code and partly in the list file you have specified. It depends on the options you specified what information will be placed in the report file and what in the list file. The progress window reports the progress and displays those messages with its context which have not been sent to the list file and a message summary. The list file contains listings, messages, cross-references, message summary, depending of the options specified.
To view the list file, double-click on it. The file opens in the editor specified under Setup/Editor. You can print the list file by clicking on it and choose File/Print. You could also print the file from your editor.
The report file contains all messages that were displayed in the progress window during analysis. You can view this file by double-clicking on the report filename in the project window..
Question 9:
How can I tune the page lay-out of the list file?
Answer 9:
The page lay-out of the list file which Forcheck generates is determined by the page-size options: /PW and /PL (Windows), -pwid and -plen (Unix). When using the Forcheck for Windows IDE the Forcheck engine is started from the IDE and the /PW and /PL options are determined using the characteristics and settings of the default Windows printer. So you have to set up the printer (e.g. to landscape) before starting the Forcheck analysis.
We have built in a page set-up menu in the IDE in which you can optimally configure the page and printer.
Question 10:
What is the best way to handle source code that makes calls to Windows or third party libraries and modules such as IMSL and Winteracter (without source code supplied)?
Answer 10:
The appropriate way is to analyse the interface code of the libraries with Forcheck and place the result in a Forcheck library file for later reference. The source code of the interfaces of third party libraries should anyhow always be present! If you don't have it available you could demand it from the supplier, or eventually make it yourself from the documentation.
Because the interfaces to the Windows libraries contain so many
bodies we supply a ready to use Forcheck library. Registered Forcheck
users can download these libraries.
Forcheck library for Compaq Visual Fortran
Forcheck library for Intel Fortran.
Question 11:
For the Linux or unix implementations a local option specified in front of a wild card file specification does not operate as expected.
Answer 11:
The unix shell expands the wild cards before passing the command line to
Forcheck. That is why the local option only effects the first file of
the expanded list. Global options, specified in front of all the
filenames, operate as expected. To avoid the problem you can run Forcheck
separately for each group of files needing the same options, store the
result in a Forcheck library file and perform the global program analysis
on this library file.
| previous page | top page |
| Forcheck
Contact |
|

