Ravenscar and portability - ADA
This is a discussion on Ravenscar and portability - ADA ; The Ravenscar profile contains the No_Implicit_Heap_Allocations
constraint.
The problem is that the operations that might require implicit heap
allocation are implementation-defined. This means that programs can be
declared as Ravenscar-compliant *only* in the context of some chosen
Ada implementation.
Is ...
-
Ravenscar and portability
The Ravenscar profile contains the No_Implicit_Heap_Allocations
constraint.
The problem is that the operations that might require implicit heap
allocation are implementation-defined. This means that programs can be
declared as Ravenscar-compliant *only* in the context of some chosen
Ada implementation.
Is that right?
--
Maciej Sobczak
http://www.msobczak.com/
-
Re: Ravenscar and portability
Maciej Sobczak <see.my.homepage@gmail.com> writes:
> The Ravenscar profile contains the No_Implicit_Heap_Allocations
> constraint.
>
> The problem is that the operations that might require implicit heap
> allocation are implementation-defined. This means that programs can be
> declared as Ravenscar-compliant *only* in the context of some chosen
> Ada implementation.
>
> Is that right?
Yes. But in practise, most implementations are pretty uniform in this
regard, so it's pretty portable.
I believe all of Ada's features, excluding some predefined library
units, can be implemented without implicit heap allocation.
But I'm not even sure how to precisely define "implicit heap
allocation".
The Strings.Unbounded does heap allocation. Is it "implicit"?
- Bob
-
Re: Ravenscar and portability
On 31 Sie, 01:08, Robert A Duff <bobd...@shell01.TheWorld.com> wrote:
> > The Ravenscar profile contains the No_Implicit_Heap_Allocations
> > constraint.
>
> > The problem is that the operations that might require implicit heap
> > allocation are implementation-defined. This means that programs can be
> > declared as Ravenscar-compliant *only* in the context of some chosen
> > Ada implementation.
> I believe all of Ada's features, excluding some predefined library
> units, can be implemented without implicit heap allocation.
What about unconstrained types? Indeed, basic use cases can be
implemented on the stack, but I might be missing something less
obvious.
> But I'm not even sure how to precisely define "implicit heap
> allocation".
Good question, but I was not around when Ravenscar was defined...
> The Strings.Unbounded does heap allocation. Is it "implicit"?
I would say yes, because the usage of heap is not stated in the
standard. It might be a common implementation practice and there might
even be no other choice, but it is not stated.
--
Maciej Sobczak
http://www.msobczak.com/
Similar Threads
-
By Application Development in forum ADA
Replies: 7
Last Post: 09-24-2007, 08:59 AM
-
By Application Development in forum ADA
Replies: 11
Last Post: 09-03-2007, 04:29 AM
-
By Application Development in forum ADA
Replies: 0
Last Post: 06-24-2007, 12:38 AM
-
By Application Development in forum ADA
Replies: 13
Last Post: 01-31-2007, 01:02 PM
-
By Application Development in forum ADA
Replies: 2
Last Post: 01-06-2007, 07:45 AM