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

    <tr>
        <th>Summary</th>
        <td>
            [CUDA] std::clamp doesn't compile with latest clang and gcc
        </td>
    </tr>

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

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

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

<pre>
    Using `std::clamp` fails to compile with clang 18.1.7 and gcc 14.1 libstd. It works with gcc 13.2.

Error message is 
```
external/local_config_clang/crosstool/extra_tools/lib/gcc/x86_64-linux-gnu/14.1.0/../../../../include/c++/14.1.0/bits/stl_algo.h:3625:7: error: reference to __host__ function '__glibcxx_assert_fail' in __host__ __device__ function
 3625 |       __glibcxx_assert(!(__hi < __lo));
 | ^
external/local_config_clang/crosstool/extra_tools/lib/gcc/x86_64-linux-gnu/14.1.0/../../../../include/x86_64-linux-gnu/c++/14.1.0/bits/c++config.h:612:7: note: expanded from macro '__glibcxx_assert'
  612 | std::__glibcxx_assert_fail();                                   \
      | ^
quantize.cu.cc:12:13: note: called by 'quantize_z'
   12 |       std::clamp(z, kMinZ, kMaxZ);
      |            ^
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVE2P4ygQ_TWVS6ktDPFHDj6k0x1pD3ucy1wQxhWHHQJZwJlM__oVtnv6Y2e010UIg6h6fvWqKBWjGR1RB9UjVE8bNaWzD91VJbID0W3T--FH9yUaNyLULKYBxB7EXlt1uULN8KSMjZg8an-5Gkv43aQzaqvciGVblEWDyg04ao3ltijRmj6mocA_En734Vtc7OdrUfAC2BOw_bI-h-ADXihGNRKaiOtlzdY5H-meKDhlgR-t18pK7d3JjHKmAPyog48xeZ8N6J6CkvkQs7npgR9HrYEf720t6-2DNW66P4xuAn7MdAsG_FgU_16M03YaKOMDf5znm0NvUsaPyUplR1-cQexFzSsQ-wbEHikHljeBThTIacoCSnn2MUmJp8npZLxD4I2UozW9vt-lipFCkllv4A0a9-Yg5UA3o-md76IN5r8iNAdcxmc04C3wEngr5dkgiANKaT3wXZ7icQXJ_lA9_z_k_oXn7zOw3iwU5zTUJX_NgvOJ5mzcr8oNNOAp-AtelA7-V8oDb1Y9sC75LMrP1_CbLLWLjPjfA6rDK_h8fK_435NyybxQoadCaxD7OYRSvI9BK2tpwP5HZv7qIF_eccaV8zI-vWPevgA_4Lc_jfu6bNT964ca-EnrA-nnTy9yM3Ri2Imd2lBXNmVbVqzZ1Ztz1xLtqN3xtqqE0FUpes2YbhvV9lvdsn5jOs74ltUlZ4zVoi6aviVWs15Xuu93qoUto4sytrD2dil8GDcmxom6XVW2YmNVTzbOTYzztRR57mehy_YP_TRG2DJrYopvCMkkO3e-w5enPVRPn2TBwVN0wJv0sblZlSimtcetzW0zBdudU7rGDMCPudJNOk99of0lF7-9vX4ersH_RTrlss4h5EJdorh1_J8AAAD__8rfpPs">