Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Another pointer rank remapping bug

Neil_Carlson
Beginner
470 Views

I've attached another short test case that exposes a bug with 14.0.2.  In some cases a pointer assignment is not properly defining the deferred length parameter of the pointer object.  See the comments at the top of the example for more details.

0 Kudos
6 Replies
Kevin_D_Intel
Employee
470 Views

Thank you Neil. I will have a look and post again soon.

0 Kudos
Kevin_D_Intel
Employee
470 Views

I confirmed the issue and that is also still exists in our current Beta 2015 release. I forwarded to the Developers (see internal tracking id below) and will keep you posted about a fix.

(Internal tracking id: DPD200357704)

0 Kudos
Neil_Carlson
Beginner
470 Views

Thanks Kevin.  That should be the last of my problem reports for a while.  With some workarounds, I've managed to get my latest code version working with the 14.0.2 Intel compiler.  In case you're interested, the origin of these bug reports is the Petaca library http://sourceforge.net/projects/petaca (see parameter_list_type.F90 and parameter_list_json.F90).  That code is a real stress test for F2003/8 features, especially polymorphism and unlimited polymorphism.

0 Kudos
Kevin_D_Intel
Employee
470 Views

Glad to hear that Neil. Hopefully we can resolve some of the related issues soon.

0 Kudos
Kevin_D_Intel
Employee
470 Views

First, the Developer said “thank you for the excellent example program.  It helped to pinpoint the problem nicely.

They also noted (as you are aware) that your “example contained all the needed elements for the problem to occur:

1. There is a remapping pointer assignment
2. The pointer is a deferred length character array pointer

From the analysis of the error they wrote “the compiler was turning off its request for the character length for the pointee in order to simplify the address computation, but the length was needed since the pointer was deferred length.

The Developer believes the risk associated with the fix is somewhat higher than usual and targeted the fix for a future release after the next major (15.0) release due out a later this year. If you really need the fix sooner, then let me know.

They regret seeing no workaround in the meantime but mentioned if the program can be modified so that the pointer length is not deferred, that would be what you might try in the meantime.

I’m sorry I did not have better news regarding this one and will keep posted as I hear more.

 

0 Kudos
Neil_Carlson
Beginner
470 Views

I've already managed to work around the bug, and can likely avoid it in new code -- remapping pointer assignment is not something I anticipate using often.  So I expect I can wait for fix.  Thanks for the update.

0 Kudos
Reply