- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I generally find that a "Rebuild All" is useful in establishing the dependencies.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In Intel Fortran, certain variables are given the SAVE attribute, or not, by default:
- The following variables are saved by default:
- COMMON variables
- Local variables of non-recursive subprograms
- Data initialized by DATA statements
- The following variables are not saved by default:
- Variables that are declared AUTOMATIC
- Local variables that are allocatable arrays
This is exactly the way CVF worked. In IVF, however, nothing seems to be saved by default, and local variables tend to get their eggs scrambled, especially in multithreaded contexts, which problem is similar to but not the same as preserving values between sequential invocations of the same routine -- ie, values spontaneously change from one line of code to the next.
Adding the SAVE attribute sort of works, except that an error message is generated if local ALLOCATABLE arrays are present. Invoking the /Qsave compiler option solves this completely, restoring things to the reliable way that CVF worked. This is very mysterious and difficult to debug, when seemingly good, well-proven code suddenly goes bonkers. I note that another current forum query framed in terms oflogical-expression evaluation order is likely exactly this same problem, making a formerly well-behaved subscript go bad.
2. "Rebuild All", when applied to newly imported, wholly-uncompiled modules, uses some arbitrary (file-save order? alphabetical?) build order which ends the entire process when the first compile with an unsatisfieddependence fails. The IVF dependence data is apparently only deduced and retained once a module successfully compiles. Thus in my current project, 76 highly interdependent modules with heavy Win32, I had to tediously rebuild and winkle out the correct build order by hand until it all compiled, at which point IVF took over the dependency checking and now it works fine (this part never worked in CVF). What is evidentlymissing is a global pre-build pass to determine the dependencies of an entire set of modules within a project, which can then inform the actual build process.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is true that there does not seem to be an equivalent of the CVF "Update all dependencies" menu item. I'll have to ask our expert about that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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