Another pointer rank remapping bug

Another pointer rank remapping bug

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.

Downloadapplication/octet-stream intel-bug-20140617.f90913 bytes
7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

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)

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 (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.

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

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.


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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today