I am unable to get the "classic" list example in Modern Fortran Explained - Michael Metcalf, John Reid and Malcolm Cohen, Oxford University Press, 2011, ISBN 978-0199601417 to work with Intel Fortran; both compiler version 14 or 2015 Beta are able to compile the code ok, but encounter run-time errors as follows:
The initial list has 0 items. The list now has 1 items. The list now has 2 items. The list now has 3 items. The list now has 4 items. The first element is: character = "hello" The last element is: real = 2.250000 After deleting the last element, the list contents are: Item 1: character = "hello" Item 2: integer = 17 Item 3: character = "world" forrtl: severe (157): Program Exception - access violation Image PC Routine Line Source TestFor32.exe 00EF5958 _ANYLIST_M_mp_REM 261 TestMod.f90 TestFor32.exe 00EF39A5 _ANYLIST_M_mp_DEL 180 TestMod.f90 TestFor32.exe 00EF2309 _ANYLIST_M_mp_DEL 94 TestMod.f90 TestFor32.exe 00EF7F13 _MAIN__ 33 TestFor.f90 TestFor32.exe 00F68782 Unknown Unknown Unknown TestFor32.exe 00F691DA Unknown Unknown Unknown TestFor32.exe 00F6932D Unknown Unknown Unknown kernel32.dll 7576338A Unknown Unknown Unknown ntdll.dll 76F5BF32 Unknown Unknown Unknown ntdll.dll 76F5BF05 Unknown Unknown Unknown
Note I'm using the latest edit to the code made available kindly by Metcalf et al. at ftp://ftp.numerical.rl.ac.uk/pub/MRandC/oo.f90.
It appears this was a known issue back on March 19, 2012 based on comments by Tim Price and Steve Lionel at this comp.lang.fortran forum topic: however, I don't know if a tracking incident was issued on the Intel side and if there is any way to check the status.
Can someone from Intel please provide some feedback on this example:
- Per Metcalf et al. (and who the Fortran world would regard among the leading authorities, if not the ultimate authority, on Fortran 2003 standard) consider this example to be worthy of a test case for Fortran 2003 - see here. Does Intel agree with Metcalf et al.? Note Metcalf indicates they have successfully tested the code with other compilers (possibly NAg compiler?).
- If yes, is this code really part of Intel's test suite? And if so, what is the plan to get this working?
- If not, why not - is there something wrong with the code?! Can Intel provide an alternate object-oriented list example based on Fortran 2003 that works?
- It appears with 2015 compiler version, Intel hopes to claim full Fortran 2003 compliance with phrases such as "Fortran now has complete Fortran 2003 support" in their What's New document. If Intel feels strongly about this, it will be nice if Intel can first strive to get the compiler working with this textbook example, or offer an adequate explanation and guidance so its users are not left confused with the very basic books on Fortran.