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

Regression in 14.0.1 against 14.0.0 and 13.x

Neil_Carlson
Beginner
339 Views

I've encountered a regression in 14.0.1 against 14.0.0 and the earlier 13.x versions of the Fortran compiler.  I've attached a small reproducer stripped down as much as possible from the actual code.  One module defines the type T1 and a generic interface SIZE for arguments of that type.  The second module uses the first, defines the type T2 and extends the generic interface SIZE for arguments of type T2.   The 14.0.1 compiler incorrectly flags an error in the second module where SIZE is being referenced with a type T2 argument, complaining about conflicting attributes for SIZE (there are none);  the reproducer compiles without error under 13.x and 14.0.0.   Critical to the reproducer are some extraneous generic interfaces in the first module; if these are removed the error goes away.  See comments in the attached file for more details.

0 Kudos
4 Replies
Ron_Green
Moderator
339 Views

I have opened a bug report.  I will notify you via this Forum when a fixed compiler is available.

Thanks for sending this in.  It is quite a good and concise reproducer!  Thank you.

ron

0 Kudos
Neil_Carlson
Beginner
340 Views

Ron, Can you let me know the Issue ID when you get it; it helps be keep track of these reports.  Thanks

0 Kudos
Lorri_M_Intel
Employee
340 Views

Hi Neil -

   I'm not Ron but I have the internal id  (people never confuse me for Ron like they confuse me with Steve ... I think it's because Steve and I both have red hair)

Anyway - the internal tracking id is DPD200252346

A work-around until you get the real fix is to change the name of the dummy argument named "size" in the module to something that is not a GENERIC interface name.    Oddly enough, it seems like you need both those things; a generic interface and an unrelated dummy argument with the same name.

               --Lorri

 

0 Kudos
Neil_Carlson
Beginner
340 Views

Thanks for the ID Lorri,

In fact it seems like you need more than you suggest.  I also needed that other generic (generic2) with a explicit-size dummy where the size expression used the size intrinsic.  If I replaced that with an assumed shape dummy, the error also goes away.  Some very odd interactions going on (looking from the outside).  

0 Kudos
Reply