comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ann: GWindows release, 29-May-2023
Date: Sat, 17 Jun 2023 02:18:05 -0500	[thread overview]
Message-ID: <u6jmn6$15ot2$1@dont-email.me> (raw)
In-Reply-To: 9a893d03-ccf9-46cb-b7f0-1e46263cf8b0n@googlegroups.com


"Gautier write-only address" <gautier_niouzes@hotmail.com> wrote in message 
news:9a893d03-ccf9-46cb-b7f0-1e46263cf8b0n@googlegroups.com...
> Something thougher is a couple of intrinsic imports (sync_add_and_fetch, 
> sync_sub_and_fetch):
>   function sync_add_and_fetch
>     (Ref : access Interfaces.Unsigned_32;
 >     Add : Interfaces.Unsigned_32)
 >     return Interfaces.Unsigned_32
 >    with
  >     Import,
 >      Convention => Intrinsic,
 >      External_Name => "__sync_add_and_fetch_4";
>
>which seems to be specific to GCC (and actually, not even all versions of 
>GCC...)

This looks like an atomic operation. A portable Ada definition of such 
operations is found in C.6.1-C.6.4 of Ada 2022. Probably those could be used 
to replace the operation (of course, that would limit one to compilers 
supporting that part of Ada 2022; dunno if anyone is doing that yet).

                        Randy.


      reply	other threads:[~2023-06-17  7:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-29 16:19 Ann: GWindows release, 29-May-2023 Gautier write-only address
2023-05-29 19:55 ` DrPi
2023-05-29 23:59   ` Gautier write-only address
2023-05-30  7:56     ` Jeffrey R.Carter
2023-06-04  6:09       ` Gautier write-only address
2023-06-17  7:18         ` Randy Brukardt [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox