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

    <tr>
        <th>Summary</th>
        <td>
            Clang: CUDA compile with -nocudalib gives "use of undeclared identifier cudaConfigureCall"
        </td>
    </tr>

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

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

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

<pre>
    Hi,

I am trying to compile some CUDA code without using libdevice.10.bc. To do this, I used the -nocudalib option.

Compiling the attached vecadd.cu without -nocudalib it compiles successfully:

```
$ clang++ vecadd.cu -emit-llvm -c --cuda-path=/usr/local/cuda-12.3
$
```

But compiling with -nocudalib gives this error:

```
$ clang++ vecadd.cu -emit-llvm -c --cuda-path=/usr/local/cuda-12.3 -nocudalib
vecadd.cu:69:11: error: use of undeclared identifier cudaConfigureCall
   69 |     vecAdd<<<gridSize, blockSize>>>(d_a, d_b, d_c, n);
      |           ^
1 error generated when compiling for sm_52.
$
```

My clang version is:

```
$ clang++ --version
Ubuntu clang version 19.0.0 (++20240325031437+564035edb0e6-1~exp1~20240325151556.1579)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
```

And I'm using CUDA Toolkit 12.3.

That said, I also see this back with LLVM 14 and a range of CUDA Toolkits back to 10.1.

[vecadd.zip](https://github.com/llvm/llvm-project/files/14759006/vecadd.zip)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VUmP2zYU_jX05UECF0m2Dzp4idEAyamTXgcU-SyxQ4kuF2cmh_z2QosdpwiKzqUCQYHg0_e9Td-TIZh2QKxJuSflcSVT7JyvvWv-SsbaVeP0W_2bIfxA6JHQ3bx_BNlD9G9maCE6UK6_GIsQXI9w-HLcgXIa4auJnUsRUhjtrGk0Xo3CnNG8UTk8OdAOYmcC4Qf4CCmghtghZINTSUtrGnCXaNyQP3IfJrKJuUOQMUrVoYYrKql1rtKd9gHGxJuPAUJSCkM4J2vfiNg9QpOKLms-8gKUlUNL-J7w_QNFhr2JmbXXHjIFWTbyZBcZOyKOhJ9S8ISfrFPSEn6aLhnPxR3112zTvk83V8cIx1Ae42jNFcOUMkDvnf9__X_wZCa4AxKxq7ZE7BgjYnd3bawouDOkQaOy0qMGo3GI5mzQw4h0cMPZtMnjQVo7YwJAtQWyPsD4XFHttCbiMK_WG_27-YZjwzTWqZfpID4si2_0sxzv9HMzv9T4GgjfErG_4wPc8ZdT-WG-ZLPv0OKAXkbU8LXD4aEgZ-ch9M8lz_9LMT-_zfmHK_pg3AAmvK9iWbZ8OV9_adIQ0z8w2TanOQXCN_NHnPKCCl5SwQqxJnxfVgUVJeqGYpWx7_h6Yd9vRqxkZVnlrFxvxyRNLE_StxjH-r1uqueqyC4qs2ZIr1k7pMWk8yg19E6jHQ0vLpjXRRqGEKW1qI9m6oEf7WSacbfXPmNbwk-NGf4ldbtBw0fC1_2iHpOqPDlnX0yEsRl_0oSnTkYI0uhZSaQNDgLi_Kc0Ur3Mf9KnT398BlaAHDRI8HJop_58xF7MowNGc_YTCSn3S8N_MxdSHgnfdDFeppLyE-Gn1sQuNbly_RLoLd6Ld3-iioSfzqMEEX5ixbrcUloRfnrAvFVgpWuht2IrV1izNWNFRYtNserqoqRYKFFo2Qgqz1vcqhLPFS_XjShlsV6ZeqlsxUTBeJErKTbr4oyi2jRUcyQFxV4am4-O5c63KxNCwnpTVRVdWdmgDdMs4HxpRD6OBV9PgTSpDaSg1oQYfiBEEy3Wh8lc7G4DYB4Jv1Ywwvk7tYHzVfK2fnfCp-jGjE8B_h0AAP__4m8T6Q">