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

problem with C interoperability

talziary
Beginner
652 Views

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

0 Kudos
4 Replies
Steven_L_Intel1
Employee
652 Views
I think this is a bug we've fixed for a release later this year, but I will have to confirm that.
0 Kudos
talziary
Beginner
652 Views
I was using ifort 12.1.3

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

talziary
0 Kudos
Steven_L_Intel1
Employee
652 Views
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.
0 Kudos
Steven_L_Intel1
Employee
652 Views
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).
0 Kudos
Reply