core.atomic for ldc.

vitamin vit at vit.vit
Mon Feb 1 07:06:57 UTC 2021


On Monday, 1 February 2021 at 06:38:16 UTC, Basile B. wrote:
> On Monday, 1 February 2021 at 06:12:59 UTC, vitamin wrote:
>> On Monday, 1 February 2021 at 05:23:52 UTC, rikki cattermole 
>> wrote:
>>> The only difference between dmd, ldc and gdc (in effect) is 
>>> the backend.
>>> While druntime and Phobos will be patched for other platform 
>>> targets, over all its the same library.
>>>
>>> The same goes for core.atomic. You should not need to know 
>>> that it has been patched. If you can call it and it gives you 
>>> the right results, you can assume it worked.
>>>
>>> Oh and $ dub build --compiler=ldc2
>>
>> problem is when I build with ldc then id doesn't work and with 
>> dmd it does:
>>
>> try compile this with ldc:
>> https://run.dlang.io/is/gngLFu
>>
>> error on webite run.dlang.io is same as I have.
>
> LDC has all LLVM intrinsics so try
>
> ---
> import ldc.intrinsics;
> ldc.intrinsics.llvm_atomic_rmw_add(...);
> ---

It look like atomicFetchAdd a atomicFetchSub was added to ldc 8 
days ago and my distro has old version. I replace 
core.internal.atomic with this 
https://raw.githubusercontent.com/ldc-developers/druntime/ldc/src/core/internal/atomic.d and now everything works.


More information about the Digitalmars-d-learn mailing list