http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Sebastian Huber from comment #2) > So I cannot use C libraries using atomics with C++ on GCC targets? With > FreeBSD and clang this works fine. Until the c++ front-end implements _Atomic keyword, that is correct. You could exactly what FreeBSD does (but take into account gcc 4.9 c front end implementing _Atomic): 271 #if !__has_extension(c_atomic) && !__has_extension(cxx_atomic) 272 /* 273 * No native support for _Atomic(). Place object in structure to prevent 274 * most forms of direct non-atomic access. 275 */ 276 #define _Atomic(T) struct { T volatile __val; } 277 #endif But this is not correct and in most cases broken. You could also just use c++11 atomic header.