- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Every compiler has known problems and unknown problems, and the number of known problems can be quite large. In addition, your own legacy code can contain bugs that may or may not be detected by a given compiler. That is why you need to have test cases to run with known correct outputs, and a system for testing and accepting program outputs.
Your request for a universal cure for all program bugs will probably not be met in our lifetime.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel Visual Fortran permits you to run for a period of time in evaluation mode. This compiler is the production product (not crippled). The compiler has option to perform comprehensive code compliance checking which you may need to turn off in situations where the original source code relied on the original compiler to not enforce compliance checking. There are many options that can affect what the compiler is to do with your code.
The general procedure is to give it a try.
Make sure that the compiler is optioned correctly for your source code. Do not assume that the file type (extension) defines the format (fixed, variable, F77, F90, F95, F2003, other), use the option that expressly states the source formatting and specification vintage. You can remove these later should the default behavior be what you expressly state. (this may save you hours in trying to figure out that you needed the option in the first place).
From my limited experience, most of the portability issues center around
DATA statements
Continuation lines
Variable type qualifiers (1.0_8, verses 1.0D0, verses 1.0D+0, ...)
How unnamed COMMON blocks are handled
How uninitialized variables are handled
How (or if) statement functions are implemented
How (or if) argument checking between CALL and SUBROUTINE is made
ENTRY statements may be handled differently
Note, none of the above potential issues are "bugs" in the compiler.
Also, if you require fixed format source files.... **** assure you have no TAB characters, and assure your line lengths do not exceed 72 characters, or by option 132 characters ***
Do not assume that the options for PGI compiler are the same as for the Intel compiler.
Also, if your port involves moving from one platform to another, you may have issues with the API to library functions.
Jim Dempsey

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page