comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Ada: A beginners experience
Date: Sat, 14 Jul 2018 16:55:55 +0100
Date: 2018-07-14T16:55:55+01:00	[thread overview]
Message-ID: <lybmb9g6b8.fsf@pushface.org> (raw)
In-Reply-To: 6febe5d6-0339-4da5-afe5-9af4e2255597@googlegroups.com

Jere <jhb.chat@gmail.com> writes:

> However, there are definitely things in Ada that are costly.  Tasks
> and Protected objects are a big one.  Full exception handling
> capability is another.  I haven't been able to get Finalization
> working (haven't tried hard honestly), so I cannot comment on that
> one.

Tasking and POs were my main problem in Cortex GNAT RTS[1], not so much
the actual tasking/sychronization, which I delegate to FreeRTOS, so much
as the interface between the compiler and the RTS, and the way it
changes between different releases, see [2].

Exception handling is something I haven't even attempted (after one look
at the work GNAT has to do). See [3], espectially the Robert Dewar quote
at the end - "exceptions are a huge pain in the neck to implement".

Finalization is something I've actually implemented, but it's still in a
branch because of binder problems, now nearly resolved in GCC8/GNAT CE
2018 (the binder generates incorrect code if your code doesn't use the
secondary stack!! [4])

[1] https://github.com/simonjwright/cortex-gnat-rts
[2]
https://github.com/simonjwright/cortex-gnat-rts/blob/master/INSTALL.md
[3]
https://github.com/simonjwright/cortex-gnat-rts/wiki/ExceptionHandling
[4] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85380

  parent reply	other threads:[~2018-07-14 15:55 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-14  2:36 Ada: A beginners experience blakemichael073
2018-07-14  2:53 ` Dan'l Miller
2018-07-14  3:53   ` blakemichael073
2018-07-14 11:26     ` Brian Drummond
2018-07-14 12:11       ` blakemichael073
2018-07-14 13:27     ` Dan'l Miller
2018-07-14 14:57     ` Jere
2018-07-16 21:38       ` Maciej Sobczak
2018-07-20 12:00         ` Jere
2018-07-20 21:05           ` Maciej Sobczak
2018-07-21  8:25             ` Simon Wright
2018-07-14  3:36 ` Paul Rubin
2018-07-14  4:08   ` blakemichael073
2018-07-14  6:21     ` Paul Rubin
2018-07-14  8:30       ` Rene
2018-07-14 15:10         ` Paul Rubin
2018-07-14 15:13   ` Jere
2018-07-14 15:42     ` Paul Rubin
2018-07-14 16:01       ` Dmitry A. Kazakov
2018-07-14 19:05         ` Dennis Lee Bieber
2018-07-15  0:31         ` Paul Rubin
2018-07-14 15:55     ` Simon Wright [this message]
2018-07-15 22:44     ` Bill Findlay
2018-07-16  1:17       ` Jere
2018-07-16  1:41         ` Paul Rubin
2018-07-16  2:01         ` Bill Findlay
2018-07-16  2:46       ` Dan'l Miller
2018-07-16 15:54         ` Bill Findlay
2018-07-14  8:01 ` Dmitry A. Kazakov
2018-07-14 12:20   ` blakemichael073
2018-07-14 13:15     ` Dmitry A. Kazakov
2018-07-14 14:15       ` blakemichael073
2018-07-14  8:19 ` Jeffrey R. Carter
2018-07-16  9:25 ` fabien.chouteau
2018-07-17  1:18   ` blakemichael073
2018-07-17  1:44     ` Dennis Lee Bieber
2018-07-17 12:59     ` fabien.chouteau
2018-07-20  1:08     ` Philip Munts
2018-07-23  4:04       ` blakemichael073
2018-07-23 13:15         ` Dennis Lee Bieber
2018-07-26 10:20   ` fabien.chouteau
2018-07-16 17:36 ` G. B.
2018-07-16 18:43   ` Simon Wright
2018-07-16 19:08     ` Paul Rubin
replies disabled

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