Intel(R) Fortran Compiler for IA-32, Version 7.1 Release Notes ============================================================== New Functionality and Issues ============================ . Direct access files larger than 2 Gigabytes are now supported. . Fortran95 support. The Intel Fortran compiler supports all the features of ISO Fortran 95, plus extensions. . The Intel Fortran Compiler includes many popular extensions from other vendors' Fortran compilers, including VAX structures, CRAY pointers, Sun IEEE FLAGS functions, and timing functions such as ETIME and SECNDS. Please see the Programmer's Guide for more information on supported extensions. . Support for Streaming SIMD Extensions. There are 2 intrinsics implemented in the Intel Fortran Compiler to support the prefetch Streaming SIMD Extension. . mm_prefetch(R, I) REAL*4 R INTEGER I Prefetch the cache line containing R into the cache. Integer literal I selects the type of prefetch. I=0 == PREFETCHNTA I=1 == PREFETCHT0 I=2 == PREFETCHT1 I=3 == PREFETCHT2 . mm_prefetch(D, I) DOUBLE PRECISION D INTEGER I Prefetch the cache line containing D into the cache. Integer literal I selects the type of prefetch. I=0 == PREFETCHNTA I=1 == PREFETCHT0 I=2 == PREFETCHT1 I=3 == PREFETCHT2 Known Limitations ================= The following are known defects in the Intel Fortran Compiler, which might be fixed in a future Version. Where relevant, the behavior of the Intel Fortran Compiler is compared against the behavior exhibited by the Compaq Visual Fortran Compiler. . OpenMP and quickwin library cannot be used together. The Quickwin library is not currently thread safe. Code is being tested to fix this but was not ready in time for this release. . VAX(tm) FORTRAN style structures. Older programs may use a feature introduced by Digital Equipment Corp.(tm) on the VAX FORTRAN product, often referred to as "VAX structures". This feature uses the keyword statements STRUCTURE, RECORD, UNION, and MAP. Vax structures are supported for compatibility with legacy code. ANSI FORTRAN-90 supplies an equivalent feature, derived types. Since support for Vax structures is intended to allow legacy code to compile, Vax structures are not supported in FORTRAN-90 modules, and you cannot use FORTRAN-90 style syntax in VAX structure declarations. This restriction may be lifted in a future release. . For example: PROGRAM MYPROG STRUCTURE /MYSTRUCT/ INTEGER(4),DIMENSION(10)::I END STRUCTURE RECORD /MYSTRUCT/ MYVAR END PROGRAM MODULE MYMOD STRUCTURE /MYSTRUCT/ INTEGER(4),DIMENSION(10)::I END STRUCTURE RECORD /MYSTRUCT/ MYVAR END MODULE You must either change the structure declaration to a FORTRAN-90 derived type, (this is the only option for MODULEs), or change the declaration of the array to use ANSI 1978 FORTRAN style syntax, such as INTEGER I(10) . The GETLOG function in the portability library, which can be linked with the /4Yportlib switch, does not currently function properly. Use of this function will result in an error, due to not loading a particular dynamic link library. . The TREAD function in the portability library is currently not available. . The -d option (addition runtime diagnostics) is not currently functioning correctly. . Alignments are different when using assembled .asm files as compared to directly generated objects. . When the -4Ya option is used to compile programs with large arrays or other data structures, the stack size may need to be increased. For example, the command ifc -MT -4Ya test.f -link -stack:0x15000000 will increase the amount of stack size reserved for by the program to 0x15000000 bytes. Avoiding need to use LD_LIBRARY_PATH ==================================== The file icc.cfg in the compiler bin directory can be used to give default options. You can avoid the need to set LD_LIBRARY_PATH with the following linker directive. -Xlinker -rpath -Xlinker /compiler70/ia32/lib Where is the directory the compiler is installed in - by default, /opt/intel. This is a standard ld option and more information about this can be found in the documentation on ld. Note that if you intend to distribute your components as part of a product, you may not want to use this directive, or you may want to change it to point to a directory in which your product will be installed. In the latter case, you will have to create that directory with the appropriate libraries in it on your build machine. Your End User License Agreement should also be consulted for a list of the compiler components that you are permitted to redistribute. For a Beta release, no rights to redistribute are usually granted. This directive is present in the shipped ifc.cfg as it is felt that this is a convenience for the customer. ======================================================================================= Intel, Pentium, Pentium Pro, Itanium and MMX are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Third-party brands and names are the property of their respective owners. Copyright 1998-2003, Intel Corporation, All Rights Reserved.