From: Jan Wuyts <Jan.Wuyts@alcatel.be>
Subject: Constraint or what?
Date: 2000/02/10
Date: 2000-02-10T11:41:03+00:00 [thread overview]
Message-ID: <38A2A395.FD028B73@alcatel.be> (raw)
Hi guys,
We're doing a port Alsys -> VADS or whatever they are called these
days. This maybe a stupid question but I'll take the risk.
The Alsys didn't complain on the construct below but the VADS one does.
I know about the restrictions on UNCHECKED_CONVERSION and the VADS
documentation says the target type cannot be an unconstraint array but I
assumed it was constraint. So, why does the VADS compiler issue an
error...
Can anyone help me?
Here is what I do:
--------------------
...in ADT_ADU...
MAX_BINARY_BUFFER_SIZE : constant integer
:= ADT_ADU_DESCRIPTION.MAX_BINARY_BUFFER_SIZE;
subtype T_BINARY_BUFFER_SIZE is
INTEGER range 0..MAX_BINARY_BUFFER_SIZE;
type T_BINARY_BUFFER is array (T_BINARY_BUFFER_SIZE range <>) of
NUMERIC_TYPES.UNSIGNED_INTEGER8;
... in NUMERIC_TYPES ...
type UNSIGNED_INTEGER8 is range 0 .. 255;
for UNSIGNED_INTEGER8'size use 8;
type UNSIGNED_INTEGER8_ARRAY is
array (POSITIVE range <>) of UNSIGNED_INTEGER8;
pragma PACK (UNSIGNED_INTEGER8_ARRAY);
subtype BYTE_ARRAY is UNSIGNED_INTEGER8_ARRAY;
... in the failing procedure...
DUMP_BIN_BUF:
declare
BUFSIZ : constant ADT_ADU.T_BINARY_BUFFER_SIZE
:= ADT_ADU.BINARY_BUFFER_SIZE(ADU);
BUF : ADT_ADU.T_BINARY_BUFFER(1..BUFSIZ);
subtype LIMITED_BYTE_ARRAY_RANGE is
POSITIVE range 1..BUFSIZ +1;
subtype LIMITED_BYTE_ARRAY is NUMERIC_TYPES.BYTE_ARRAY
(LIMITED_BYTE_ARRAY_RANGE);
function TO_BYTE_ARRAY is new
UNCHECKED_CONVERSION (TARGET=> LIMITED_BYTE_ARRAY,
SOURCE=> ADT_ADU.T_BINARY_BUFFER);
---- This is where the VADS compiler says...
---- error: RM Appendix F: target type must not be
---- unconstrained array or record type
begin
ADT_ADU.GET_BINARY_BUFFER(ADU, BUF);
return "BUFFER_SIZE=>"& INTEGER'IMAGE(BUFSIZ) & ","
& ASCII.LF & "BUFFER=>("
& ASCII.LF & LOG.DUMP_BYTE_ARRAY(
TO_BYTE_ARRAY( BUF )
)
& ASCII.LF & ASCII.HT & ")";
exception
--------------------
In my opinion LIMITED_BYTE_ARRAY is constraint so...
Thanks for the help
--
_____________
Jan Wuyts (RX) \ ^ /
\ALC/_\TEL/
------------------------------------------\ /----
Internet: wuytsj@rsd.bel.alcatel.be \ ,,, /
jan.wuyts@alcatel.be (. .)
-----------------------------------------o00-(_)-00o---
Alcatel Bell Space V
Berkenrodelei 33 Phone: (+32) 3/829.5479
B-2660 Hoboken Fax: (+32) 3/829.5763
Belgium.
next reply other threads:[~2000-02-10 0:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-02-10 0:00 Jan Wuyts [this message]
2000-02-10 0:00 ` Constraint or what? reason67
2000-02-11 0:00 ` Pascal Martin
2000-02-13 0:00 ` Robert Dewar
2000-02-18 0:00 ` Robert Dewar
2000-02-16 0:00 ` Ian Ward
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox