From: Jeffrey Carter <jeffrey.carter@boeing.com>
Subject: Re: Static assertions
Date: Thu, 17 May 2001 22:34:31 GMT
Date: 2001-05-17T22:34:31+00:00 [thread overview]
Message-ID: <3B0451F7.6D5B7024@boeing.com> (raw)
In-Reply-To: 9e17la$km6$1@nh.pace.co.uk
Marin David Condic wrote:
>
> You have to be careful of the declarations. Just because you maybe did
> something to declare (for example) a 16 bit integer type, doesn't mean that
> 'Size for the type won't end up as 32. Even if you use a rep clause, the
> compiler doesn't have to honor it - although one would hope it was at least
> polite enough to inform you of that fact.
>
> Perhaps you could post the code you created to test it?
The code was identical to that posted by JPR, except that 32 was changed
to 16, and 4 was changed to 8. This makes both expressions False (for
me, but I would hope at least one of them would be False on every
system). The test program simply used Integer'Image and Put_Line to
output the values of the 2 constants.
>
> MDC
> --
> Marin David Condic
> Senior Software Engineer
> Pace Micro Technology Americas www.pacemicro.com
> Enabling the digital revolution
> e-Mail: marin.condic@pacemicro.com
> Web: http://www.mcondic.com/
>
> "Jeffrey Carter" <jeffrey.carter@boeing.com> wrote in message
> news:3B040DE4.468E779F@boeing.com...
> > Jean-Pierre Rosen wrote:
> > >
> > > package Verifier is
> > > subtype Assert is Boolean range True..True;
> > >
> > > Assert_1 : constant := Boolean'Pos( Assert (Integer'Size=32) );
> > > Assert_2 : constant := Boolean'Pos( Assert
> > > (Integer'Size=4*Character'Size) );
> > > end Verifier;
> > >
> > > (The Boolean'Pos serves to have a value used in a named number
> declaration,
> > > which requires a static context).
> >
> > Interesting. However, Rational Apex 2.4.6 on HP compiles this fine even
> > if the declarations are changed to make the expressions false. A test
> > program to output the values of Assert_X produces 2 zeros.
> >
> > If I change the declarations to
> >
> > Assert_1 : constant Assert := Integer'Size = 73;
> >
> > then the unit will not compile.
> >
> > --
> > Jeffrey Carter
--
Jeffrey Carter
next prev parent reply other threads:[~2001-05-17 22:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-17 15:07 Static assertions Jean-Pierre Rosen
2001-05-17 17:44 ` Jeffrey Carter
2001-05-17 19:09 ` Marin David Condic
2001-05-17 22:34 ` Jeffrey Carter [this message]
2001-05-18 13:39 ` Marin David Condic
2001-05-18 1:23 ` Robert A Duff
2001-05-19 7:40 ` David Kristola
2001-05-19 22:56 ` Robert A Duff
2001-05-19 8:36 ` Aaro Koskinen
2001-05-21 7:50 ` Jean-Pierre Rosen
2001-06-12 3:59 ` David Thompson
-- strict thread matches above, loose matches on Subject: below --
2001-05-18 5:34 Christoph Grein
2001-05-18 13:38 ` Robert A Duff
2001-05-18 16:15 ` Jeffrey Carter
2001-05-18 17:25 ` Ted Dennison
2001-05-18 21:27 ` Robert A Duff
2001-05-18 22:46 ` Jeffrey Carter
2001-05-19 22:53 ` Robert A Duff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox