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.

Reply via email to