<div dir="ltr">Hi,<br><br>The latest Clang-6.0 compiler finally enables OpenMP by default on<br>Linux (e.g. Ubuntu-18 x86_64).<br><br>But OpenMP programs using Clang-6.0/CMake-3.10 fail to compile:<br><br>[100%] Linking CXX executable primecount<br>libprimecount.a(P2.cpp.o): In function `.omp_outlined..7':<br>P2.cpp:(.text+0x2194): undefined reference to `__atomic_load'<br>P2.cpp:(.text+0x21ef): undefined reference to `__atomic_compare_exchange'<br>CMakeFiles/primecount.dir/build.make:148: recipe for target 'primecount' failed<br>make[2]: *** [primecount] Error 1<br><br>The problem is that:<br><br>target_link_libraries(myprogram OpenMP::OpenMP_CXX)<br><br>does not add libatomic to the linker options which LLVM/Clang's OpenMP<br>library depends upon. When I manually add -latomic to the linker<br>options my OpenMP programs compile & link fine using Clang-6.0/CMake-3.10.<br><br>Regards,<br>Kim<br></div>