<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">