problem with C interoperability

problem with C interoperability

Here a small example giving incorrect result with ifort and correct result with gfortran
It seems that the c_char result of the g_ascii_tolower function of glib which return the lower case character
corresponding to the upper case character argument is not returned properly

AdjuntoTamaño
Descargar test.f90604 bytes
Descargar result-gfortran.228 bytes
Descargar result-ifort.224 bytes
publicaciones de 5 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

I think this is a bug we've fixed for a release later this year, but I will have to confirm that.

Steve - Intel Developer Support

I was using ifort 12.1.3

and just check that, unfortunately, ifort 12.1.4 (build 319) gives the same problem

talziary

This is a different problem than before, and is not yet fixed. The compiler is treating the interoperable function as if it were a Fortran function and is passing two hidden arguments for the function retiurn value, which is incorrect. I have escalated this as issue DPD200233166 and will let you know of any progress. Thanks for providing a nice test case.

Steve - Intel Developer Support

The new problem has been fixed, and I expect the fix to appear in update 2, scheduled for late January. It affects interoperable functions that return a character result (has to be a single character, as nothing else is interoperable).

Steve - Intel Developer Support

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya