<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/58756>58756</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang] fortran and C interface problem about VALUE type(cptr) without BIND(C)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:ir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            PeixinQiao
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          PeixinQiao
      </td>
    </tr>
</table>

<pre>
    This is after the issue #58739.

```
$ cat test.f90 
program test_memcpy
  use iso_c_binding
  interface
    function memcpy(dest, src, len)
      import c_ptr
      type(c_ptr), value :: dest, src
      integer(kind=4), value :: len
      type(c_ptr) :: memcpy
    end
  end interface
  integer(kind=4), target :: src, dest
  type(c_ptr) :: tmp
  src = 343
  tmp = memcpy(c_loc(dest), c_loc(src), 4)
  if (src .eq. dest) then
    print *, "OK"
  else
    print *, "Bad"
  end if
end
$ cat case.c 
#include <string.h>
void *memcpy_(void *dest, void *src, size_t n) {
  return memcpy(dest, src, n);
}
```
```
$ gcc case.c -c && gfortran test.f90 -c && gfortran test.o case.o && ./a.out
 OK
$ icc case.c -c && ifort test.f90 -c && ifort test.o case.o && ./a.out
forrtl: severe (174): SIGSEGV, segmentation fault occurred
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyFVNmOmzAU_Rp4sQYRsz_wkGVmNGrVRdPOa2SMIW7NUtuknX59rw1O0k6iShbB5-4n51IN9Wv55cAVgkMazSTSBwYXNTHk4SjJs6gIvHDnhevlmYbLma84RpRopJnSQVOEaIZHObSSdBbed6yj4-tsQGhSJv-wp_uK9zXvW2fgPZRvCGUOQKiZeqr50KMlBc5rSOjhLVKSmh_Beg8X5wDI0o2D1IjuRy0vcf06MoifcQiB4CMRZspoDQddJr5MB021DCLy79CtF-3ia8Gmjdu1nNffPCDEIOFygde389-srYlsmXZpFyrsAEvkjQZ0NzoPCAJ0h6I4OgV1o4VOXNO9GOiJc1vZQbamReIL_nmDZhsK2I9gobQwirqgZ5QwF_itTbSH8cd38DjxIBS77boh9aWv4ayZbycqnR4pUSygyIER76mYavOHbZWGtG1w8KL72XwceG2qzIPvYQSHOFG4-0K14r_ZXqPeUpttXEOS6Une1qpVarR4e9nu-j69Xa-WUjfOHUyEUziobUDlkvTnxbtlG-bgwVkDDz-QYJicWID_Uyl-rRQ36a7VuTD8pwg4Si2sWNmRSfNpyVeZlQ5gz0-Pz_ePL5Yq1nas18QufUMmodFA6SQlq__hx2flKk2zKF_FOPTrMqqLqCC-5lqw0ks2jSDwaUl2yJFBQC7b85KBuIZKsA6RCtpEL-v3X-9Pe7OszU-uD8a4efqwA3gLmD9JUR60HpXZKfwApwWvqQro0MFFiKP7uYMK3xgFCTzY76mCF_ieJql_KPM6YkVGcUrrpKEVwUmR5kUdJzlZZas49gWpYBfMIKD4eZZozaWRf7LzeYlDjFerEIdFBI-gImmaVLQgSc2qjOVeHLKOcBGYRoJBtr4sbU_V1CowCq60OhuJUrztGVvqfWL8F-8_czIs9cgERMjyjPt2otKO8wc4Sc-L">