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

    <tr>
        <th>Summary</th>
        <td>
            [CUDA] Generates a call to libc abort in device code, which fails to link
        </td>
    </tr>

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

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

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

<pre>
    Reproducer:
https://godbolt.org/z/9qrdGE55d

When trying to call `__builtin_abort()` in __device__ or __global__ code, clang doesn't throw a compilation error, instead generating the `call.uni abort` instruction. This then fails at link-time because
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxckk1vnDAQhn-NuYyCYPhaDhzSpOReteoR-WMWpvHaW9tklfz6ymzUSj3B4dXMO89jGSOvjmgS3RfRPRdyT5sP08fNMt0K5c379I2uwZtdUxDNo6get5SuMf_iLHBevVHeptKHVeD8IXAefwfz8rXrjKhy_OdGDlJ4Z7dC8qCltSD6alnUzjaxW6TyIQk8CRxFXwE7WBZDb6xpWcAHWJbVeiXtsoD2hgQ-gbbSrWA8RSdwSJC24G8gQfvLla1M7B1QCD7kMLuYSBpYyVGQ6eixUe6Qu5S7Y7hXOJbHFHadB5TwfeOYow7Okm0EmcCye31IfCFQpOUeqTBTY8ZmlAVN9dCOQzO22Bfb1CL1_diqqh4GVTdS4TjWnWlxGIbTSfYFT1hhV_U11m3btF15HoYR-9MZlTlLIinaii6SbWnt2yXzLTjGnaa6bca6LqxUZOPhDdGy0gIxGwxTzj-ofY2irSzHFP9NSJzs4frpx_Oj6J7h5Q6FYqaX1SQPedgdSZZxV_EX_W1jvX0CObLutdiDnf57FZy2XZXaXwTOefvn5-Ea_C_SSeB8HBMFzp_3vE34JwAA__-jYtT0">