<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/103972>103972</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
NS_PER_
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
oerdnj
</td>
</tr>
</table>
<pre>
Looks like clang 19 leaks these into public **C** namespace:
```c
// POSIX implementation using clock_gettime where available. The clock_gettime
// result is in nanoseconds, which is converted as necessary to
// - deciseconds for kind 1
// - milliseconds for kinds 2, 4
// - nanoseconds for kinds 8, 16
constexpr unsigned_count_t DS_PER_SEC{10u};
constexpr unsigned_count_t MS_PER_SEC{1'000u};
constexpr unsigned_count_t NS_PER_SEC{1'000'000'000u};
```
(from https://github.com/llvm/llvm-project/pull/96652)
Is this something you intended to do? It breaks our builds and I am guessing we are not the people on the earth who already defined these generic values - perhaps those internal to the compiler need to be prefixed with `__`?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVF1r4zoQ_TXyy9BgyV_xgx_apobA_Si39-G-BVma2Gpkyegjaf79xU66m9CF3QUhIXTmzGHmaLj3qjeIDSmeSLFJeAyDdY1FJ8170ll5bv6w9uBBqwOC0Nz0QGvQyA8ewoAeQZlgYYqdVgIIeyTs8flygOEj-okLJNkjSTck_dzL9LLE5Q6EtYS18Pr32_Y_UOOkcUQTeFDWQPTK9CC0FYddjyGoEeE0oEPgR6407zSuAP4d8B5zz-zQRx1AeVAGDDfWo7BGesKe4TQoMcxPwpojuoASuAeDAr3n7gzB3nPBA0gU6soAe-vgoIwE-gU2Kq2_4DywOWv-BX0j6wa8nsG0vKKFNT7gx-QgmqVxcidsNGEXYPO2e335Z_f28kyqJ5pGUm1I9vTzuD_v4gir0vTXg__6QfDtfkf0re13XmDrvbMjDCFMfvbJUo9ehSF2K2FHwlqtj5_Hw-TsO4pAWDtFrQlr67IsGGH1Led2tqby4O2IYZjtc7Zx9ikaiRKCBWlJ1gJsA3RusbKNDrqotPTAjYQt8BH6iH4x3wmBOwRjw2x5mNBOGsGa5YbchQFOgwWuHXJ5Bol7ZeY8y_fo0aBTAo5cR_TwABO6gU-zRHv5PegM17OqmU7YcVIaHRi8SO0QJod79YESTioMQMp0t5urmLWJbDJZZzVPsKEVy8o8KyuaDE2WFVhW-_W-QClTWhRlzWhVc97JktKaJ6phKcvTNc1pVuQZXWFOaSmEKPbVmlZMkDzFkSu9msu-sq5PlPcRG5pmdcUSzTvUfpkajBk8wfJKGJuHiGuWXnWx9yRPtfLBf6cJKmhsrsZJotPNb7d-yeUJa69ijg37PwAA__-TQIOk">