http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932
--- Comment #4 from Sebastian Huber <sebastian.hu...@embedded-brains.de> --- It is surely not the fault of GCC developers that C and C++ diverge more and more, but for embedded systems developers this is quite painful. It is clear that you cannot use C++ header files from C. So if you want to provide a library intended for C and C++ applications you must use C as the base line. With this C++ incompatible <stdatomic.h> you cannot do this for applications requiring atomic operations. So you are forced to provide two implementations. I don't think this is the spirit of the atomics provided by the recent C/C++ standards. GCC provides also a C++ compatible <stdbool.h> for example.