On 21 Jul 2014 at 23:09, Andrey Semashev wrote:
That smells to me like ARM Ubuntu 14.04 has a badly configured clang? Thoughts?
Boost.Atomic uses compiler macros to select the backend. Given that assembler- based ARM backends don't emit strexb/ldrexb, I suspect that the backend based on the __atomic* intrinsics is used. If the compiler is not able to compile these intrinsics and yet reports them as lock-free then this is a compiler bug that should be reported to clang team.
I think this is an Ubuntu ARM clang packaging problem. If you force the cpu it compiles, so I think it needs reporting there. GCC 4.8 on ARM is still broken though. Boost Build is selecting bad compiler flags as default for that configuration. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/