comp.lang.ada
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: Where to find Ravenscar compatible ADT Containers (List, Vector, stack)
  2018-08-28 15:03  7% ` Simon Wright
@ 2018-09-03  9:42  0%   ` Daniel Norber
  0 siblings, 0 replies; 13+ results
From: Daniel Norber @ 2018-09-03  9:42 UTC (permalink / raw)



> 
> > The standard ADA.Containers library is not prepared for Ravenscar use.
> > Even bounded versions, like Bounded_double_Linked_List have several
> > violations of Ravenscar, like Implicit_Heap_Allocation when i try to
> > instantiate it, and bind it.
> 
> Which compiler are you using? I ask because I encountered this with GCC
> 4.9.1 & GNAT GPL 2014
> 
> A workround (which allowed the package which revealed the problem to be
> built) was to explicitly state the restriction in the body:
> 
>    pragma Restrictions (No_Implicit_Heap_Allocations);
> 
>    with Ada.Containers.Bounded_Vectors;
> 
>    package body Containing is
> 
>       subtype Index is Natural range 0 .. 19;
>       subtype Line is String (1 .. 20);
> 
>       package Line_Vectors
>         is new Ada.Containers.Bounded_Vectors (Index_Type   => Index,
>                                                Element_Type => Line);
> 
> making it a compiler error. Of course, that's not going to help with the
> unbounded Containers.
> 
> > I've Found ADA95 booch ADT, but is not ready for the new ADA2012
> > aspects that let you write something like this:
> >
> > for E of List loop
> >   E:= E + 1;
> >   --E is a reference. That increases performance with big structures.
> > end loop;
> 
> Not sure that would actually be a performance improvement.
> 
> > Someone know a modern ADA2012 third party ADT that compliances
> > Ravenscar?.  Seems like ADA forgot Ravenscar users when they released
> > 2005 containers.
> 
> The list of restriction violations for Bounded_Doubly_Linked_Lists (from
> the ALI) for CE 2018 is
> 
> RV NO_ACCESS_SUBPROGRAMS
> RV NO_DIRECT_BOOLEAN_OPERATORS
> RV NO_DISPATCH
> RV NO_EXCEPTIONS
> RV NO_FINALIZATION
> RV NO_NESTED_FINALIZATION
> RV NO_RECURSION
> RV NO_STANDARD_STORAGE_POOLS
> RV NO_STREAMS
> RV NO_UNCHECKED_ACCESS
> RV NO_DEFAULT_INITIALIZATION
> RV NO_DYNAMIC_SIZED_OBJECTS
> RV NO_IMPLEMENTATION_ATTRIBUTES
> RV NO_IMPLEMENTATION_PRAGMAS
> RV NO_IMPLICIT_ALIASING
> RV SPARK_05
> 
> I don't think any of those are non-Ravenscar?

Thank you. The workaround you sayed works for me: Eplicit write the  pragma Restrictions (No_Implicit_Heap_Allocations) 
Yes, seems to be a problem of compiler becouse at the end no implicit heap allocation was used.

^ permalink raw reply	[relevance 0%]

* Re: Where to find Ravenscar compatible ADT Containers (List, Vector, stack)
  @ 2018-08-28 15:03  7% ` Simon Wright
  2018-09-03  9:42  0%   ` Daniel Norber
  0 siblings, 1 reply; 13+ results
From: Simon Wright @ 2018-08-28 15:03 UTC (permalink / raw)


Daniel Norber <danielnorberto@gmail.com> writes:

> The standard ADA.Containers library is not prepared for Ravenscar use.
> Even bounded versions, like Bounded_double_Linked_List have several
> violations of Ravenscar, like Implicit_Heap_Allocation when i try to
> instantiate it, and bind it.

Which compiler are you using? I ask because I encountered this with GCC
4.9.1 & GNAT GPL 2014

A workround (which allowed the package which revealed the problem to be
built) was to explicitly state the restriction in the body:

   pragma Restrictions (No_Implicit_Heap_Allocations);

   with Ada.Containers.Bounded_Vectors;

   package body Containing is

      subtype Index is Natural range 0 .. 19;
      subtype Line is String (1 .. 20);

      package Line_Vectors
        is new Ada.Containers.Bounded_Vectors (Index_Type   => Index,
                                               Element_Type => Line);

making it a compiler error. Of course, that's not going to help with the
unbounded Containers.

> I've Found ADA95 booch ADT, but is not ready for the new ADA2012
> aspects that let you write something like this:
>
> for E of List loop
>   E:= E + 1;
>   --E is a reference. That increases performance with big structures.
> end loop;

Not sure that would actually be a performance improvement.

> Someone know a modern ADA2012 third party ADT that compliances
> Ravenscar?.  Seems like ADA forgot Ravenscar users when they released
> 2005 containers.

The list of restriction violations for Bounded_Doubly_Linked_Lists (from
the ALI) for CE 2018 is

RV NO_ACCESS_SUBPROGRAMS
RV NO_DIRECT_BOOLEAN_OPERATORS
RV NO_DISPATCH
RV NO_EXCEPTIONS
RV NO_FINALIZATION
RV NO_NESTED_FINALIZATION
RV NO_RECURSION
RV NO_STANDARD_STORAGE_POOLS
RV NO_STREAMS
RV NO_UNCHECKED_ACCESS
RV NO_DEFAULT_INITIALIZATION
RV NO_DYNAMIC_SIZED_OBJECTS
RV NO_IMPLEMENTATION_ATTRIBUTES
RV NO_IMPLEMENTATION_PRAGMAS
RV NO_IMPLICIT_ALIASING
RV SPARK_05

I don't think any of those are non-Ravenscar?


^ permalink raw reply	[relevance 7%]

* ANN: Cortex GNAT RTS 20160522
@ 2016-05-22 14:20  4% Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2016-05-22 14:20 UTC (permalink / raw)


Available at
https://sourceforge.net/projects/cortex-gnat-rts/files/20160522/

This release includes GNAT Ada Run Time Systems (RTSs) based
on FreeRTOS (http://www.freertos.org) and targeted at boards with
Cortex-M3, -M4, -M4F MCUs (Arduino Due from http://www.arduino.org,
the STM32F4-series evaluation boards from STMicroelectronics at
http://www.st.com).

In each case, the board support for the RTS (configuration for size
and location of Flash, RAM; clock initialization; interrupt naming) is
in $RTS/adainclude. Support for the on-chip peripherals is also
included, in Ada spec files generated by SVD2Ada
(https://github.com/AdaCore/svd2ada).

The Ada source is either original or based on FSF GCC (mainly 4.9.1,
some later releases too).

(1) arduino-due is a Ravenscar-style RTOS based on FreeRTOS from
    http://www.freertos.org for the Arduino Due.

    See arduino-due/COPYING* for licensing terms.

    On-chip peripheral support in atsam3x8e/.

    Tests in test-arduino-due/.

(2) stm32f4 is a Ravenscar-style RTOS based on FreeRTOS from
    http://www.freertos.org for the STM32F4-DISC* board.

    See stm32f4/COPYING* for licensing terms.

    On-chip peripheral support in stm32f40x/.

    Tests in test-stm32f4/.

(3) stm32f429i is a Ravenscar-style RTOS based on FreeRTOS from
    http://www.freertos.org for the STM32F429I-DISC* board.

    See stm32f429i/COPYING* for licensing terms.

    On-chip peripheral support in stm32f429x/.

    Tests in test-stm32f429i/.

In this release,

* There is no longer any dependence on the STMicroelectronics'
  STM32Cube package.

* The support for on-chip peripherals is limited to the
  SVD2Ada-generated spec files. The AdaCore 'bareboard' software
  (currently https://github.com/AdaCore/bareboard, but a name change
  is under consideration) supports the STM32 line.

* Tasking no longer requires an explicit start
  (https://sourceforge.net/p/cortex-gnat-rts/tickets/5/).

* Locking in interrupt-handling protected objects no longer inhibits
  all interrupts, only those of equal or lower priority
  (https://sourceforge.net/p/cortex-gnat-rts/tickets/18/).

The standard packages included (there are more, implementation-specific,
ones) are:

Ada
Ada.Containers
Ada.Containers.Bounded_Hashed_Maps
Ada.Containers.Bounded_Vectors
Ada.Exceptions
Ada.IO_Exceptions
Ada.Interrupts
Ada.Interrupts.Names
Ada.Iterator_Interfaces
Ada.Real_Time
Ada.Streams
Ada.Synchronous_Task_Control
Ada.Tags
Ada.Task_Identification
Interfaces
Interfaces.C
Interfaces.C.Strings
System
System.Assertions
System.Address_To_Access_Conversions
System.Storage_Elements
GNAT
GNAT.Source_Info


^ permalink raw reply	[relevance 4%]

* ANN: Cortex GNAT RTS 20160314
@ 2016-03-14 17:42  6% Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2016-03-14 17:42 UTC (permalink / raw)


At https://sourceforge.net/projects/cortex-gnat-rts/files/20160314/.

This release includes

* an RTS for the Arduino Due, arduino-due, and a minimal BSP,
  arduino-due-bsp.

* an RTS for the STM32F429I-DISCO, stm32f429i-disco-rtos, based on
  STMicroelectronics' STM32Cube package and FreeRTOS, and a
  corresponding partial BSP, stm32f429i-disco-bsp.

* an RTS for the STM32F429I-DISCO, stm32f429i, based on FreeRTOS, with
  a set of peripheral definition packages created by SVD2Ada.

In this release,

* the Containers support generalized iteration ("for all E of C
  loop"). Note, this is achieved by removing tampering checks. While
  tampering errors are rare, it would be as well to check algorithms
  using a fully-featured desktop compiler.

The standard packages included (there are more, implementation-specific,
ones) are:

Ada
Ada.Containers
Ada.Containers.Bounded_Hashed_Maps
Ada.Containers.Bounded_Vectors
Ada.Exceptions
Ada.IO_Exceptions
Ada.Interrupts
Ada.Interrupts.Names
Ada.Iterator_Interfaces
Ada.Real_Time
Ada.Streams
Ada.Synchronous_Task_Control
Ada.Tags
Ada.Task_Identification
Interfaces
Interfaces.C
Interfaces.C.Strings
System
System.Assertions
System.Address_To_Access_Conversions
System.Storage_Elements
GNAT
GNAT.Source_Info


^ permalink raw reply	[relevance 6%]

* ANN: Cortex GNAT RTS 20160207
@ 2016-02-07 22:45  5% Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2016-02-07 22:45 UTC (permalink / raw)


This release is at Sourceforge[1].

This release includes an RTS for the Arduino Due, arduino-due, and a
minimal BSP, arduino-due-bsp.

For the STM32F429I-DISCO, there is one RTS, stm32f429i-disco-rtos, and
one BSP, stm32f429i-disco-bsp.

In this release,

* the Containers support generalized iteration ("for all E of C
  loop"). Note, this is achieved by removing tampering checks. While
  tampering errors are rare, it would be as well to check algorithms
  using a fully-featured desktop compiler.

* FreeRTOS is configured to detect stack overflow (if it is detected,
  the RTS loops inside vApplicationStackOverflowHook()).

The standard packages included (there are more,
implementation-specific, ones) are:

   Ada
   Ada.Containers
   Ada.Containers.Bounded_Hashed_Maps
   Ada.Containers.Bounded_Vectors
   Ada.Exceptions
   Ada.IO_Exceptions
   Ada.Interrupts
   Ada.Interrupts.Names
   Ada.Iterator_Interfaces
   Ada.Real_Time
   Ada.Streams
   Ada.Synchronous_Task_Control
   Ada.Tags
   Ada.Task_Identification
   Interfaces
   Interfaces.C
   Interfaces.C.Strings
   System
   System.Assertions
   System.Address_To_Access_Conversions
   System.Storage_Elements
   GNAT
   GNAT.Source_Info

The software is supplied built with for debugging (-g) and with suitable
optimisation (-Og), using GNAT GPL 2015 on Mac OS X (it should work
out of the box with a Linux-hosted GNAT GPL 2015 cross-compiler, but
will need recompiling for another compiler version).

[1] https://sourceforge.net/projects/cortex-gnat-rts/files/20160207/


^ permalink raw reply	[relevance 5%]

* ANN: STM32F4 GNAT Run Time Systems 20150406
@ 2015-04-06 17:27  5% Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2015-04-06 17:27 UTC (permalink / raw)


This is the fourth release of a GNAT RTS with the GCC Runtime Library
exception for STM32F4 boards.

(a) Tasking is implemented using FreeRTOS[3], which STMicroelectronics
    provide a copy of with their BSP.

(b) I've included a BSP with minimal higher-level Ada interfaces to the
    board hardware: clock, buttons, LEDs, LCD. In addition, there's a
    machine-generated translation of STMicroelectronics' type-specific
    header in stm32f429xx_h.ads, for low-level interfacing.

The release is at
https://sourceforge.net/projects/stm32f4-gnat-rts/files/20150406/.

From its README,

20150406
========

This release has been reorganised from previous releases.

There is one RTS, stm32f4-disco-rtos, and one BSP, stm32f4-disco-bsp.

Changes to the RTS from the previous release:
---------------------------------------------

These units (and supporting units) are now included:

  Ada.Containers.Bounded_Vectors (*)
  Ada.Containers.Bounded_Hashed_Maps (*)
  Ada.Containers.Generic_Array_Sort
  Ada.Containers.Generic_Constrained_Array_Sort
  Ada.IO_Exceptions
  Ada.Streams
  Ada.Task_Identification
  Interfaces.C
  Interfaces.C.Strings
  System.Assertions

  (*) The new iterators (for some F in Foo loop ...) are NOT supported
      (they require finalization).

The STM32F429I_Discovery tree has been moved to the BSP.

The following tickets have been fixed:

  2  Protected spec hides package Interfaces
  14 Last_Chance_Handler doesn’t stop tasking

Tasking is started by calling Start_FreeRTOS_Scheduler.

^ permalink raw reply	[relevance 5%]

* Re: access-to-classwide has non-static size?
  @ 2015-03-27 21:11  7%           ` Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2015-03-27 21:11 UTC (permalink / raw)


sbelmont700@gmail.com writes:

> On Friday, March 27, 2015 at 10:18:51 AM UTC-4, Simon Wright wrote:
>> 
>> I've worked out how to do it at elaboration now:
>> 
>>    The_Instance_Events : access Event_Queues.Vector :=
>>      new Event_Queues.Vector (Capacity => Capacity);
>> 
>> (compiled but not yet executed - more challenges still to overcome!)
>
> Don't forget the 2012 'bounded' vector, which I presume would be
> acceptable for your situation ("Bounded vector objects should be
> implemented without implicit pointers or dynamic allocation.")

It is the 2012 bounded vector.

There are issues;

   with Ada.Containers.Bounded_Vectors;
   package V is new Ada.Containers.Bounded_Vectors
     (Positive, Some_Access_Type);

is treated by GNAT GPL 2014 and FSF GCC 4.9.1 as if it violated
No_Implicit_Heap_Allocation (and in fact the generated code does indeed
call _gnat_malloc()). GCC 5.0.0 doesn't do this.

Still having similar problems with a big object with POs and tasks. You
would think that if the compiler was going to generate a .ali which says
the unit violates a restriction then it would also generate a warning
message, so I guess this is another example of the same bug as above -
or similar, anyway.


^ permalink raw reply	[relevance 7%]

* Re: access-to-classwide has non-static size?
  2015-03-27  8:26  5% access-to-classwide has non-static size? Simon Wright
  @ 2015-03-27  8:49  0% ` Simon Wright
  1 sibling, 0 replies; 13+ results
From: Simon Wright @ 2015-03-27  8:49 UTC (permalink / raw)


Simon Wright <simon@pushface.org> writes:

>    type Event_Base is abstract tagged limited private;
>    type Event_P is access all Event_Base'Class;
>
> ...
>
>    package Event_Queues is new Ada.Containers.Bounded_Vectors
>      (Index_Type   => Positive,
>       Element_Type => Event_P);
>
> ...
>
>    protected type Dispatchable_Events is
>       ...
>    private
>       ...
>       The_Events : Event_Queues.Vector (Capacity => Capacity);
>
> and when compiling with the Ravenscar profile (GNAT GPL 2014, GCC 4.9.1,
> GCC 5.0.0 20150208) the compiler says
>
>    warning: component has non-static size
>    warning: creation of protected object of type "Dispatchable_Events"
>     will violate restriction No_Implicit_Heap_Allocations
>
> Is this (the non-static size part!) right?

If I declare an Event_Queue.Vector at library level rather than in a PO
I don't get the warnings. So this is a GNAT problem, maybe?


^ permalink raw reply	[relevance 0%]

* access-to-classwide has non-static size?
@ 2015-03-27  8:26  5% Simon Wright
    2015-03-27  8:49  0% ` Simon Wright
  0 siblings, 2 replies; 13+ results
From: Simon Wright @ 2015-03-27  8:26 UTC (permalink / raw)


I'm creating a PO which has a member which is a bounded vector of
pointer-to-classwide,

   type Event_Base is abstract tagged limited private;
   type Event_P is access all Event_Base'Class;

...

   package Event_Queues is new Ada.Containers.Bounded_Vectors
     (Index_Type   => Positive,
      Element_Type => Event_P);

...

   protected type Dispatchable_Events is
      ...
   private
      ...
      The_Events : Event_Queues.Vector (Capacity => Capacity);

and when compiling with the Ravenscar profile (GNAT GPL 2014, GCC 4.9.1,
GCC 5.0.0 20150208) the compiler says

   warning: component has non-static size
   warning: creation of protected object of type "Dispatchable_Events"
    will violate restriction No_Implicit_Heap_Allocations

Is this (the non-static size part!) right?

I tried declaring Event_P "with Size => 64"; no difference.

I think, studying the output of -gnatR, a pointer-to-classwide is a thin
pointer, i.e. 4 bytes on arm-eabi).


^ permalink raw reply	[relevance 5%]

* [Bounded] Vectors, reference types, and the secondary stack
@ 2015-02-15 16:21  5% Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2015-02-15 16:21 UTC (permalink / raw)


It turns out that (GCC 4.9.1) that if you have

   package Interval_Containers
     is new Ada.Containers.Bounded_Vectors
       (Index_Type   => Natural,
        Element_Type => Ada.Real_Time.Time_Span,
        "="          => Ada.Real_Time."=");

   Intervals : Interval_Containers.Vector (5);

and then

   Intervals.Insert_Space (0, 5);
   Intervals (0) := Ada.Real_Time.Milliseconds (50);

then

   function Reference
     (Container : aliased in out Vector;
      Index     : Index_Type) return Reference_Type;

returns its result on the secondary stack!

Why would it need to do that? given the (private) definition

   type Reference_Type
      (Element : not null access Element_Type) is null record;


You ask why I would care. Well, in my STM32F4 RTS the environment task,
in which elaboration happens, isn't actually a task, and doesn't (yet)
have a secondary stack.

The reason it's not a task is that the way to kick off the FreeRTOS
sceduler is to call FreeRTOS.Tasks.Start_Scheduler (aka
vTaskStartScheduler()), which doesn't return unless the scheduler can't
be started; and I haven't found a way to get this behaviour into the
startup code generated by gnatbind, so the poor user has to call it at
the end of their main program.

^ permalink raw reply	[relevance 5%]

* Re: Containers on small systems
  @ 2015-02-06 21:54  5%                                       ` Simon Wright
  0 siblings, 0 replies; 13+ results
From: Simon Wright @ 2015-02-06 21:54 UTC (permalink / raw)


Simon Wright <simon@pushface.org> writes:

> Haven't tried Containers yet

I think Ada.Containers.Bounded_* is a non-starter until GCC 5 comes
along (or GNAT GPL 2015).

My first attempt was to allow finalization.

This isn't insuperable; I managed to get the Containers package to
compile (though I can see why AdaCore have No_Finalization in their
STM32F4 RTS! Crikey!)

Unfortunately, when it came to bind a user program, it turned out that
gnatbind doesn't understand this particular situation; it thinks that if
you have finalization, you need to finalize at the end of the program;
and it gets confused to the point that the binder-generated main program
won't compile.

So I backed those changes out and hacked out all the modern Iterator
stuff from Ada.Containers.Bounded_Vectors (but not the modern Indexing
features).

Unfortunately, when it came to bind a user program, gnatbind thought
that it was violating No_Implicit_Heap_Allocations. I couldn't find any;
it turns out that both GCC 4.9.1 and GNAT GPL 2014 insert a spurious
"RV NO_IMPLICIT_HEAP_ALLOCATIONS" in the .ali file (RV => this unit
violates the named restriction, so the bind has to fail if the
restriction is actually imposed).

GCC 5.0.0 20141228 doesn't have this problem.


^ permalink raw reply	[relevance 5%]

* Re: API design considerations - variable-length array in record type
  2012-10-09  3:10  5% ` Stephen Leake
@ 2012-10-09  7:47  0%   ` Maciej Sobczak
  0 siblings, 0 replies; 13+ results
From: Maciej Sobczak @ 2012-10-09  7:47 UTC (permalink / raw)


W dniu wtorek, 9 października 2012 05:10:49 UTC+2 użytkownik Stephen Leake napisał:

> Ada.Containers.Bounded_Vectors meets these requirements.

No, because there is no predefined upper bound on the length of array.

I have to admit that the idea with Indefinite_Holders looks the most attractive and the essential parts of this solution are very easy to implement.

-- 
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com



^ permalink raw reply	[relevance 0%]

* Re: API design considerations - variable-length array in record type
  @ 2012-10-09  3:10  5% ` Stephen Leake
  2012-10-09  7:47  0%   ` Maciej Sobczak
  0 siblings, 1 reply; 13+ results
From: Stephen Leake @ 2012-10-09  3:10 UTC (permalink / raw)


Maciej Sobczak <see.my.homepage@gmail.com> writes:

> Hi,
>
> I am working on the API design where there is a need for a record type
> with field(s) that are arrays of some predefined type (say, Integer).
> So, an example record type might look like this:
>
> type R is record
>    X : Integer;
>    Y : Unbounded_String;
>    Z : Array_Of_Integers_That_We_Talk_About_Here;
> end record;
>
> A straightforward choice is a predefined instantiation of
> Ada.Containers.Vectors for Integer and this would be probably the
> least surprising, especially in the context of Y : Unbounded_String,
> but at the same time I'm open to consider some more lightweight
> alternatives.
> The problem is - any other alternative I can think of leads to the
> complication of API in the form of introducing
> Ada.Finalization.Controlled to the picture.
>
> Do you have some favourite solutions?

Ada.Containers.Bounded_Vectors meets these requirements.

-- 
-- Stephe



^ permalink raw reply	[relevance 5%]

Results 1-13 of 13 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2012-10-08  9:03     API design considerations - variable-length array in record type Maciej Sobczak
2012-10-09  3:10  5% ` Stephen Leake
2012-10-09  7:47  0%   ` Maciej Sobczak
2015-01-04 19:43     What is the best license to use for open source software? Hubert
2015-01-04 20:50     ` David Botton
2015-01-04 21:27       ` Ludovic Brenta
2015-01-04 22:13         ` David Botton
2015-01-04 23:14           ` Ludovic Brenta
2015-01-05  0:56             ` David Botton
2015-01-05  1:20               ` Ludovic Brenta
2015-01-05  2:28                 ` David Botton
2015-01-05 11:24                   ` GNAT GPL is not shareware (was: Re: What is the best license to use for open source software?) Dirk Heinrichs
2015-01-05 18:43                     ` GNAT GPL is not shareware Jeffrey Carter
2015-01-30 11:48                       ` Marius Amado-Alves
2015-01-30 12:12                         ` Björn Lundin
2015-01-30 13:50                           ` Simon Wright
2015-01-30 17:13                             ` Jeffrey Carter
2015-01-30 17:34                               ` Simon Wright
2015-01-30 18:21                                 ` Jeffrey Carter
2015-01-30 18:49                                   ` Simon Wright
2015-01-30 19:46                                     ` Randy Brukardt
2015-02-01 21:17                                       ` Containers on small systems (Was: GNAT GPL is not shareware) Simon Wright
2015-02-05  9:40                                         ` Containers on small systems Simon Wright
2015-02-06 21:54  5%                                       ` Simon Wright
2015-02-15 16:21  5% [Bounded] Vectors, reference types, and the secondary stack Simon Wright
2015-03-27  8:26  5% access-to-classwide has non-static size? Simon Wright
2015-03-27  8:46     ` J-P. Rosen
2015-03-27  8:53       ` Simon Wright
2015-03-27  9:13         ` J-P. Rosen
2015-03-27 14:18           ` Simon Wright
2015-03-27 15:51             ` sbelmont700
2015-03-27 21:11  7%           ` Simon Wright
2015-03-27  8:49  0% ` Simon Wright
2015-04-06 17:27  5% ANN: STM32F4 GNAT Run Time Systems 20150406 Simon Wright
2016-02-07 22:45  5% ANN: Cortex GNAT RTS 20160207 Simon Wright
2016-03-14 17:42  6% ANN: Cortex GNAT RTS 20160314 Simon Wright
2016-05-22 14:20  4% ANN: Cortex GNAT RTS 20160522 Simon Wright
2018-08-28 12:06     Where to find Ravenscar compatible ADT Containers (List, Vector, stack) Daniel Norber
2018-08-28 15:03  7% ` Simon Wright
2018-09-03  9:42  0%   ` Daniel Norber

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