On Fri, Mar 4, 2016 at 2:21 PM, Kjetil Matheussen <k.s.matheussen(a)gmail.com>
wrote:
On Fri, Mar 4, 2016 at 2:12 PM, Paul Davis <paul(a)linuxaudiosystems.com>
wrote:
kjetil, thanks for the patch.
however, the problem with fixing this problem has never been identifying
where to put the barriers, it has been adding them in a portable way.
__atomic_* are, as far as i can tell, gcc-specific. am i wrong about that?
I think you're almost correct. Clang supports them too, so __atomic_*
functions are portable across
linux/osx/mingw for the three major platforms.
Regarding the microsoft c compiler, which I don't think supports the
__atomic_ functions, the "volatile" keyword actually
works by default as it should:
http://preshing.com/20141024/my-multicore-talk-at-cppcon-2014/ , so in
order to support
the microsoft c compiler, it's just a matter of creating dummy-macros for
the __atomic_-functions.