Issue 133697
Summary __c11_atomic_add_fetch is not implemented
Labels
Assignees
Reporter pakluba
    Could you please implement the missing C11 variants of the atomic builtins?

I was using stdatomic.h in my code, sometimes directly with the  `__atomic_*` builtins, but got a quite confusing compilation error:

`address argument to atomic operation must be a pointer to integer, pointer or supported floating point type ('atomic_uint *' (aka '_Atomic(unsigned int) *') invalid`

After doing some search it turned out that instead of the `__atomic_*` builtins the `__c11_atomic_*` builtins shall be used. It fixed most of my issues except where a `__c11_*` variant is not available.

While those are not available, it it OK to make the compilation error go away by casting the atomic pointer to ordinary pointer?

`__atomic_add_fetch((unsigned int *)(ptr), val, memorder)`

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to