- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello All
Background
Our product has been using Intel Fortran for years now from version 9 till now version 12.1. We use the Intel Compiler to compile Fortran code into objects that are linked together by Visual Studio to create an executable. This executable is then run as a mathematical simulation.
Situation
We have customers who have old Fortran compiled objects from Intel Fortran 9/VS 2003, Intel 10/VS 2005, Intel 11/VS 2008.
Customers with new Intel and old objects
From our experince, objects compiled with older versions of Intel are compatible when linked together with objects created with newer versions of Intel.
Customers with old Intel and new objects
We have also seen newer objects shared with customers who link them with older versions of Intel and objects created with older Intel versions.
The Question
Is cross version compatbility guaranteed
Are objects created in older versions of Intel Fortran-VisualStudio XX guaranteed to link with newer versions of Intel Fortran-VisualStudio XX and visa versa
Thanks in advance for your help
George
www.pscad.com
Background
Our product has been using Intel Fortran for years now from version 9 till now version 12.1. We use the Intel Compiler to compile Fortran code into objects that are linked together by Visual Studio to create an executable. This executable is then run as a mathematical simulation.
Situation
We have customers who have old Fortran compiled objects from Intel Fortran 9/VS 2003, Intel 10/VS 2005, Intel 11/VS 2008.
Customers with new Intel and old objects
From our experince, objects compiled with older versions of Intel are compatible when linked together with objects created with newer versions of Intel.
Customers with old Intel and new objects
We have also seen newer objects shared with customers who link them with older versions of Intel and objects created with older Intel versions.
The Question
Is cross version compatbility guaranteed
Are objects created in older versions of Intel Fortran-VisualStudio XX guaranteed to link with newer versions of Intel Fortran-VisualStudio XX and visa versa
Thanks in advance for your help
George
www.pscad.com
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What we try to maintain is that old objects can be linked with new code and libraries, as long as the linking is done in the newer environment. The reverse, linking newer-version objects with an older version product, is not supported and may fail in unpredictable ways.
I would stop short of saying "guarantee", but in the absence of compiler bugs that sometimes force us to make incompatible changes, old objects linking with a newer compiler is supposed to work. When we know of exceptions these are listed in the release notes.
I would stop short of saying "guarantee", but in the absence of compiler bugs that sometimes force us to make incompatible changes, old objects linking with a newer compiler is supposed to work. When we know of exceptions these are listed in the release notes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you did not use SEQUENCE in your user defined types you may have a potential for incompatible binary data (should your data files be stored in binary), as you upgrade your compiler. While this has always been an uncertainty, you may have not experienced this, thus (mis)assume binary layout is always compatible.
In the event you have such an issue, you will need to write a data file converter program.
Jim Dempsey
In the event you have such an issue, you will need to write a data file converter program.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can't imagine we would ever change the layout of non-SEQUENCE types. While you are correct that this is a possibility, the number of applications it would break is just too horrible to imagine. The usual compatibility issues relate to:
- Bugs in external name decoration (should not be any more of these)
- Changes in descriptor layout (happened for CLASS objects once, should not happen again)
- Upward-compatible changes in interfaces to run-time library routines (happens occasionally)
Perhaps of more interest is that compiled module (.mod) files are also upward but not downward compatible. While we don't change the format of these often, sometimes we do. The compiler should complain if it sees an incompatible .mod file.

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