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

    <tr>
        <th>Summary</th>
        <td>
            [CUDA] Compiler crash when `cudaLaunchKernel` is declared otherwise
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    For this [test case](https://godbolt.org/z/v3GGf9aqb):
```
int cudaLaunchKernel();

__global__ void fn() {}

int main() {
    fn<<<1, 1>>>();
}
```

Clang would crash when compiled with `--cuda-host-only`. The reason is that `emitDeviceStubBodyNew` retrieves the type `dim3` by looking into the second argument of `cudaLaunchKernel`, which does not exist in this case.

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsks-O4jgQxp-mcimBHIeE5JBDgE1Lu6u9bPcZOXERe9qxGduBYZ5-ZEAaNDNSST7Uz_Xv-0QIerJELZQ7KA-ZWKJyvu3kh3r__HvOBidvbe88RqUDQrmLFCKOIhCUB-C1ivEcoOiA98D7ycnBmbh2fgLefwfeX4q3t1Mjvg7Am4SxDir2DNZpG3FcpPhXLHZU_5C3ZIDXd3aXWNYdj5NxgzDHI16clniyDwBhu4Pt4QGlOrPQrynWIWKii_0jcuB7zKH46xmvbR51XgYD1u2NsBNe3WIkjl4EhVdFFkc3n7UhiVcdFULFVqu0wUq5EFfOmhtUbI3vitCTCM6iDhiViAmlWccDXfRI_8dl2Dl5-4-uUDH0FL2mCyWUMN7OlHCp5yJlhxsa5z61nVDb6O5MoNFZicJPy0w2ojulH7_dsmJp66vSo0LpKKB1EembDhG1fWiatFwD6zLZFrIpGpFRm2-LZrPNm4Znqi1rKkU1FAUNbFPXZSOqU7WVOW9y0Yw8z3TLGS8Zz4u8LpqSr0cqmrziJatPJdX8BBtGs9BmbcxlTubIdAgLtTnf5qzKjBjIhLsDObd0xXsWOE-G9G36tBqWKcCGGR1i-Fkm6mju1t1_HDooD7h_qONfFfvzXZIukkYjPEl0UZG_6kDZ4k37i6d1VMuwHt0MvE-dn8_q7N0XGiPw_j5vAN4_F7q0_EcAAAD__wCpCMQ">