_Atomic is not an official C++ keyword, when -pedantic is specified the compiler gives a warning about its usage.
This patch uses <stdatomic.h> and it's atomic_uint_least32_t. Unfortunately there is no atomic_uint32_t. This works because <stdatomic.h> is a system header which isn't subject to the same warnings. Alternatively we could add #pragma GCC system_header to thread_utils.h.