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

Regression in 14.0.1 against 14.0.0 and 13.x

Neil_Carlson
Principiante
511 Visualizações

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 Respostas
Ron_Green
Moderador
511 Visualizações

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

Neil_Carlson
Principiante
512 Visualizações

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

Lorri_M_Intel
Funcionário
512 Visualizações

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

 

Neil_Carlson
Principiante
512 Visualizações

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

Responder