Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Annunci
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.
29285 Discussioni

Fortran Composer XE 2011 and legacy code

arildh
Principiante
1.465Visualizzazioni
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 Soluzione
bmchenry
Nuovo collaboratore II
1.465Visualizzazioni
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

Visualizza soluzione nel messaggio originale

8 Risposte
lklawrie
Principiante
1.465Visualizzazioni
As far as I can tell, you should have no worries.

Linda
mecej4
Collaboratore onorario III
1.465Visualizzazioni
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.
bmchenry
Nuovo collaboratore II
1.466Visualizzazioni
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

Robert_van_Amerongen
Nuovo collaboratore III
1.465Visualizzazioni
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
Steven_L_Intel1
Dipendente
1.465Visualizzazioni
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.
arildh
Principiante
1.465Visualizzazioni
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
mecej4
Collaboratore onorario III
1.465Visualizzazioni
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.
Steven_L_Intel1
Dipendente
1.465Visualizzazioni
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.
Rispondere