<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56944>56944</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Bug in IO print function?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:runtime,
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
PeixinQiao
</td>
</tr>
</table>
<pre>
$ cat c-main.c
#include <stdlib.h>
#include <stdio.h>
#include <complex.h>
double _Complex zdotcf_(int *n, int *incx, int *incy);
int main(){
int N = 100, INCX = 1, INCY = 2;
double _Complex res;
res = zdotcf_(&N,&INCX,&INCY);
printf(" real(res) = %f\n", creal(res));
printf(" imag(res) = %f\n", cimag(res));
}
$ cat fortran_func.f90
double complex function zdotcf(n,incx,incy)
integer :: incx,incy,n
print *, "N =", n
print *, "incx =", incx
print *, "incy =", incy
zdotcf = (1.0d0,1.0d0)
return
end
$ cat run.sh
#!/bin/bash
clang $1 -c -o c-test.o
flang-new $2 -c -o fortran-test.o
flang-new -flang-experimental-exec c-test.o fortran-test.o
./a.out
rm *.o
$ bash run.sh c-main.c fortran_func.f90
real(res) = 1.000000
imag(res) = 1.000000
$ cat gcc-run.sh
#!/bin/bash
gcc $1 -c -o c-test.o
gfortran $2 -c -o fortran-test.o
gfortran c-test.o fortran-test.o
./a.out
rm *.o
$ bash gcc-run.sh c-main.c fortran_func.f90
N = 100
incx = 1
incy = 2
real(res) = 1.000000
imag(res) = 1.000000
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVMuOmzAU_RqzsYLAPIIXLDJJI81m2u46q5ExhrhyTASmTfr1vQYTwnQyo0pjIeHre3x87sMumvKSIxJjzgzmqyOT2ucYBTsUbBCJpOaqLwVG0bYzpZKFf0DRlztu2dz18uZ4UuJ84y-bvlACv2xHD_5TNoZXL4hkUhuMyEYjssVuDkznpXlBhKLoYeSyy1Y5bLbLa7eMB_wTnL_DYRBYgsen7Y_RdtbzYJErFcavhbWiu3onDKwN-2bRiKRPQAk_e8R19nwrE-NTC4qqAU6AhCmYWn5CBzpEkgolW4iDWHl8gXiHSR5Z_T7TAnHLhNa7qV5jD1RNa1qmX6pec7-iAV6Uy9URW6-RjXYZAGpbLlemqTxzEUQtWtC1gQ8vQKDQoRaB2SJb3SB_KJ8LQ98DWc4b3HDEfehlCb1M0DEWl78s9IPS9oz707n2pm-dEqHL28aYctj22u8O8y1CBNptX9gG3ResO9zu4YrpGs6LQ7zieNXAJTSiM34zuivrXmnx20KIg7ga3QGuxqk4n0Qrj0IbpsAQ_Mr85n4ftDG_6Y2T3R5t0ibvHJ_VPwV4fS_uNM0bLQ7ZHIYD_Nu5S8CU0Zrz1f9kFfD3c1o7uR-l9Ir7vMTdxPFh8saHaxrhnDPX7Hge4ey6vHKRzyqFJ_IwTWia0pRSr8yjkkaUeUYaJXKUPAxdh5IdfuhrEIIfv7q7N70VKNp7favygzGnzj4GZA9fLc2hL3x4WMBQ6tf0W53a5qfgBkzZdb1VtU9SGsfeIecZTWPBsioqA0qLqhQxjddZUARVGhBSeYoVQnVWFVzzUVi0gbwbuA_u4l8dYCY7T-YEdgZZkAQRCSPqr8uExmVMMlbF8ZoxFAcCCqZ8K85v2tpr80Fn0dcdOJXsTDc7WdfJWoshM5af9ebQtPk3Ic9Sf5es8Yao8iGkv8yOHQU">