# Code explanation for absence of stdatomic.h for python build

**URL:** <https://discuss.python.org/t/code-explanation-for-absence-of-stdatomic-h-for-python-build/101623>\
**Category:** Python Help\
**Created:** [August 8, 2025, 6:49am UTC](https://discuss.python.org/t/code-explanation-for-absence-of-stdatomic-h-for-python-build/101623 "2025-08-08T06:49:28Z")\
**Posts on this page:** 1\
**Showing post:** 30

<div class="post-metadata">

**Author:** ![zuhu2195](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/zuhu2195/32/10447_2.png) [@zuhu2195](https://discuss.python.org/u/zuhu2195)\
**Post date:** [March 20, 2026, 12:49pm UTC](https://discuss.python.org/t/code-explanation-for-absence-of-stdatomic-h-for-python-build/101623/30 "2026-03-20T12:49:16Z")

</div>

I found a piece of code segment written for 16 bit atomic operation but type casting to 32 bit in pyatomic\_std.h. atomic\_load type case is of 32 bit, while obj is of 16 bit type.

```python

static inline uint16_t
_Py_atomic_load_uint16(const uint16_t *obj)
{
    _Py_USING_STD;
    return atomic_load((const _Atomic(uint32_t)*)obj);
}

```

is this a mistake or was it deliberately added? I couldn’t find any other place where such a cast was done.

---

_[View the full topic](https://discuss.python.org/t/code-explanation-for-absence-of-stdatomic-h-for-python-build/101623)._
