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

    <tr>
        <th>Summary</th>
        <td>
            C API type mismatch in ArrayType initializer
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    https://github.com/llvm/llvm-project/blob/23d8eca/llvm/include/llvm/IR/DerivedTypes.h#L372-L373

https://github.com/llvm/llvm-project/blob/23d8eca/llvm/include/llvm-c/Core.h#L1429-L1437

C++ API use `uint64_t` and C API uses `unsigned` and thus gets truncated when trying to create larger `ArrayType`s
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1UcFu2zAM_Rr5IsRQJMeeDzqkCQoU6GEoei8ki7C1KVIgUR2yrx_jIM2uOwwgyEc-kXygbHIXvSCeC1N7Jp_JZo9Lte2UTpSE8HkPm3NOP2BCSm1IloJU7htM5vHMxylUB4_Cyxu5I2T_Ce79cobSLkyqVzXIDTnFxJGJ_c3_JxGbicAhZbht3nZy3JBXw9-7D0w-kfH99xdeC3DWi-oj9t0HEuQmOn64k2VlY_FzBHdnSWzhM2DhmGucDILjvxaIlF58nDkmPmWgMg8mz5CvM_Y5m8v1KIRL47RyoxpNgx4D6Ns6JJaffDkZnBbuI__qocSjN8H_htzUHP79D30pFQqBXd-NfbNoZS04A7JXSnSuG4QaoJu2cuhld4VNMBZC0Wz3xHbHxmsppBTDVm4HQVdthRF2lMKpcSepxbJOwMn40F4XtynPTdarBlvnQmTwBcuDNGU9Kdznm4pLyjrCT8ypWdXqVeofKsXaqw">