<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">