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

附件尺寸
下载 test.f90604 字节
下载 result-gfortran.228 字节
下载 result-ifort.224 字节
5 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

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

发表评论

登录添加评论。还不是成员?立即加入