comp.lang.ada
 help / color / mirror / Atom feed
From: Dennis Lee Bieber <wlfraed@ix.netcom.com>
Subject: Re: CONSTRAINT_ERROR - why?
Date: Sat, 14 Dec 2002 16:49:36 -0800
Date: 2002-12-15T01:05:40+00:00	[thread overview]
Message-ID: <1jjgta.os3.ln@beastie.ix.netcom.com> (raw)
In-Reply-To: 3DFBB00B.230289A2@t-online.de

Alfred Hilscher fed this fish to the penguins on Saturday 14 December 
2002 02:26 pm:

> 
> Is there no way to avoid this extra assignment? I expected something
> like function "/" (Left, Right : universal_integer) return Byte;
>
        The philosophy of Ada is to assume nothing.

        IE, no hidden type coercions (unlike C, FORTRAN, etc.).
with Interfaces.C; use Interfaces.C;
with Text_IO; use Text_IO;

procedure Test is

    type    BYTE       is new Interfaces.C.Unsigned_Char;

    type Fac_Conf_Struct is
      record
        Struct_Length     : BYTE;
        Filler            : String (1..32);
      end record;


  X : Fac_Conf_Struct;
begin
  Put_Line ("Struct_Length=" & Integer'Image (Fac_Conf_Struct'Size / 
8));
  X.Struct_Length := 33;
  X.Struct_Length := (BYTE(Fac_Conf_Struct'Size / 8));  -- Value is 33, 
too.
end Test;

        Note the EXPLICIT type specification! It could still cause an error 
should the result of the divide exceed the value "BYTE" can contain.


-- 
 > ============================================================== <
 >   wlfraed@ix.netcom.com  | Wulfraed  Dennis Lee Bieber  KD6MOG <
 >      wulfraed@dm.net     |       Bestiaria Support Staff       <
 > ============================================================== <
 >        Bestiaria Home Page: http://www.beastie.dm.net/         <
 >            Home Page: http://www.dm.net/~wulfraed/             <




  reply	other threads:[~2002-12-15  0:49 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-14 18:28 CONSTRAINT_ERROR - why? Alfred Hilscher
2002-12-14 18:45 ` James S. Rogers
2002-12-14 19:15   ` Robert A Duff
2002-12-14 19:20     ` James S. Rogers
2002-12-14 19:42     ` Alfred Hilscher
2002-12-16  2:39       ` AG
2002-12-14 19:20   ` Alfred Hilscher
2002-12-14 20:58     ` Dennis Lee Bieber
2002-12-15 13:45       ` Alfred Hilscher
2002-12-15 19:04         ` Robert A Duff
2002-12-16  1:12         ` Dennis Lee Bieber
2002-12-16  2:20           ` Jeffrey Carter
2002-12-16 18:48             ` Alfred Hilscher
2002-12-16 19:53               ` James S. Rogers
2002-12-17 18:20                 ` Alfred Hilscher
2002-12-17 19:29                   ` Robert A Duff
2002-12-17 21:05                     ` Dennis Lee Bieber
2002-12-18 18:36                     ` Alfred Hilscher
2002-12-18 18:51                       ` Robert A Duff
2002-12-18 21:45                         ` Randy Brukardt
2002-12-19 16:49                           ` Robert Spooner
2002-12-19 20:57                             ` Randy Brukardt
2002-12-14 20:19 ` Jeffrey Carter
2002-12-14 22:26   ` Alfred Hilscher
2002-12-15  0:49     ` Dennis Lee Bieber [this message]
2002-12-15  2:18     ` Jeffrey Carter
2002-12-15 18:23       ` Jeffrey Carter
2002-12-15 14:01   ` Alfred Hilscher
2002-12-15 18:20     ` Jeffrey Carter
2002-12-15 19:00       ` Alfred Hilscher
2002-12-16  1:16         ` Dennis Lee Bieber
2002-12-16 18:50           ` Alfred Hilscher
2002-12-17  2:17             ` Dennis Lee Bieber
2002-12-17 18:21               ` Alfred Hilscher
     [not found]                 ` <26tuvu4ekeigls0bnd2okavrdhfu0tir4a@4ax.com>
2002-12-18 18:47                   ` Alfred Hilscher
replies disabled

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