ICE for use of symbol that should be private from nested module

ICE for use of symbol that should be private from nested module

Moved from unrelated thread

Steve - Intel Developer Support
5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Ok - thanks for the response. I'll start abbreviating some of my module names. I think the new mangling convention is definitely safe from accidental symbol clashes! It was the repetitiion of the module name that I was curious about - I wondered whether this was a change in preparation for sub-modules.

Completely unrelated - here's a snippet that ICE's 12.0. 11.1 accepts the example as it is, but probably shouldn't have. 12.0 will still ICE even if the code is corrected.

ifort-12-ice.f90

Ian,

Can you provide the source that led to the repeated module name? I just want to make sure it's correct.

The ICE is escalated as DPD200162880. What the compiler SHOULD do with the source you provide is generate a call to an external routine GENINTF. You are correct that version 11.1 accepts the source but it calls the wrong routine. In some ways, one might say the 12.0 behavior is an improvement, but it is still wrong. Thanks for providing this.

Steve - Intel Developer Support

Amusingly, 12.0 Update 1 reverts to the 11.1 behavior - no ICE, but the wrong routine is called.

Steve - Intel Developer Support

This got fixed in 13.0.

Steve - Intel Developer Support

Leave a Comment

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