From: Simon Wright <simon@pushface.org>
Subject: access-to-classwide has non-static size?
Date: Fri, 27 Mar 2015 08:26:17 +0000
Date: 2015-03-27T08:26:17+00:00 [thread overview]
Message-ID: <lyk2y2luc6.fsf@pushface.org> (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).
next reply other threads:[~2015-03-27 8:26 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-27 8:26 Simon Wright [this message]
2015-03-27 8:46 ` access-to-classwide has non-static size? 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 14:58 ` J-P. Rosen
2015-03-27 15:08 ` Egil H H
2015-03-27 16:51 ` J-P. Rosen
2015-03-27 15:51 ` sbelmont700
2015-03-27 21:11 ` Simon Wright
2015-03-27 8:49 ` Simon Wright
2015-03-27 8:53 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox