Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29281 Discussions

Fortran Composer XE 2011 and legacy code

arildh
Beginner
1,461 Views
We are considering an upgrade from Intel Visual Fortran Compiler 10.1.021 to the newest version of the compiler (Fortran Composer XE 2011). Our code is a mixture of "old"- and "new"-style fortran. Will this compiler-upgrade result in any known issues with respect to the "old" part of the code? is the new compiler fully backward compatible with respect to legacy features?
Regards, Arild
0 Kudos
1 Solution
bmchenry
New Contributor II
1,461 Views
I have many projects with legacy/new/clean/messy code and i had held off updating to XE until first go-round of updates/fixes.
I just updated to Intel Visual Fortran Composer XE for Windows Version 2011 (Update 1) 01 Dec 2010

I'verecompiled a couple of very large projects withno issues.
XE actually caught 2 previously undetected errors, which i fixed, and everything is running great.
So i'd expect you will have a minimum of upgrade issues with Update 1 of XE 2011.


brian

View solution in original post

0 Kudos
8 Replies
lklawrie
Beginner
1,461 Views
As far as I can tell, you should have no worries.

Linda
0 Kudos
mecej4
Honored Contributor III
1,461 Views
That will depends on whether the old part is just "old" or "bad old" -- the latter signifying that dubious practices and non-standard language features were used: for example, Hollerith initialization of real and complex variables.

Recent versions of the Intel compiler are more successful at trapping bugs in code both at compile time and run time, as you can see from posts from users complaining that their code used to work fine with older versions of the compiler but now causes run-time errors. I belong to the camp that views better error-checking as a positive thing that provides an opportunity to fix bugs that would otherwise stay hidden. But then, you may have other viewpoints.
0 Kudos
bmchenry
New Contributor II
1,462 Views
I have many projects with legacy/new/clean/messy code and i had held off updating to XE until first go-round of updates/fixes.
I just updated to Intel Visual Fortran Composer XE for Windows Version 2011 (Update 1) 01 Dec 2010

I'verecompiled a couple of very large projects withno issues.
XE actually caught 2 previously undetected errors, which i fixed, and everything is running great.
So i'd expect you will have a minimum of upgrade issues with Update 1 of XE 2011.


brian

0 Kudos
Robert_van_Amerongen
New Contributor III
1,461 Views
I agree with the observations made here. I have a lot of rather recent software (Fortran 95 and Fortran 2003) but also a lot of "old" software that torturesmy eyes iftake a look at it. Compilation with Intel for this old code went well, although a lot of warning messages are generated. Most of these warningsindicate obsolecent features or are ofminor importance.Only a few asks for repair. As an example: an uninitialised variable. But there are more!
In conclusion: no seriousproblem!!

Robert
0 Kudos
Steven_L_Intel1
Employee
1,461 Views
You'll only get warnings of obsolescent features if you ask for standards checking. But it is true that many people find that the Intel compiler finds problems in their code that their previous compiler didn't.
0 Kudos
arildh
Beginner
1,461 Views
Steve, it is not completely clear to me how to interpret your comment. Do you mean that the new Intel compiler (v12/Composer XE) finds problems that the previous Intel compiler did not find (i.e. v 11 and lower). Or does "previous compiler" refer to non-Intel compilers. My question was about issues when upgrading from Intel compiler v10 to v12.
Regards, Arild
0 Kudos
mecej4
Honored Contributor III
1,461 Views
Steve will answer in due course, certainly.

In my experience, both. That is, for source code with violations of the standard or other bugs, the current Intel compiler is more likely to emit compile time or run time error messages than the older versions of the Intel compiler and a few (certainly not all) non Intel compilers.

For clean source code, any bug-free standards-aware compiler should give zero error messages.
0 Kudos
Steven_L_Intel1
Employee
1,461 Views
Yes, I meant both. We continually improve the error detection capability of the Intel compiler. Some other compilers are better than us at finding errors, some not. If you have "old code", it is highly liklely it was first developed using a compiler with lesser error detection capabilities - Intel or otherwise. A loit of "dusty deck" code plays fast-and-loose with the argument matching rules of the language, depending on the fact that most of the compilers of the day did not catch such errors.
0 Kudos
Reply