> ok, it looks like in case of clang we need to pass -mcx16 and no need to > pass libatomic. I will check if I do that in my patch.
Oops, I just realised that I was wrong here when I said that this looks like more of an infrastructural problem than a dependency problem. The use of "__atomic_compare_exchange_n" in the existing codebase doesn't refer to 128-bit atomics, so you're totally right that this does, in the 64-bit case at least, introduce a new dependency that wasn't here before. (Just felt the need to correct myself for the record.) Anyhow, it's good that you've managed to resolve this issue by adding the dependency to the project infrastructure. Though since it applies only to this one case, perhaps it should only be added to the infrastructure for this example in particular (as suggested in the thread on your patch relating to this issue).