From: "Greg Bek" <gab@rational.com>
Subject: Re: Representation clause for enumeratives
Date: Thu, 8 Feb 2001 10:52:56 -0800
Date: 2001-02-08T10:52:56-08:00 [thread overview]
Message-ID: <95uptf$e6n$1@usenet.rational.com> (raw)
In-Reply-To: 95tqbh$ag7$1@nnrp1.deja.com
Sandro,
What I think is happening is that AdaMulti is using a 32 bit signed type
to represent enumerated values. The 16#8000_0000# value is outside
this range.
The supplied example compiles with Apex.
But if for instance you changed it to 16#8_0000_0000# (thinking you
had more than 32 bits) you would get the error:
10:28:19 >>> Line 8: for Typ_Enum use (16#00000002#, 16#00000004#,
16#8_0000_0000#);
10:28:19 *** The internal codes exceed the values representable with the
largest target integer type
This is because Apex uses a 32 bit unsigned type to store enumerated values.
Basically you have hit a compiler limit. I'm not sure if you can use a
negative number for
the enumerated values with your compiler, if you can then reordering your
enumerated
type declaration to:
type Typ_Enum is (C, A, B);
for Typ_Enum use
(-16#80000000#,16#00000002#, 16#00000004# )
--^^^^ note the minus sign
Greg
-------------------------------------------
Greg Bek mailto:gab@rational.com
Product Manager
Rational Software, Cupertino CA 95014
Ph: +1 408 863 4394 Fax: + 1 408 863 4180
-------------------------------------------
Sandro Binetti wrote in message <95tqbh$ag7$1@nnrp1.deja.com>...
> Hi everybody,
>
>Suppose you have an enumerative type like the following:
>
>type TYP_ENUM is (A,B,C);
>
>for TYP_ENUM use(
> 16#00000002#,
> 16#00000004#,
> 16#80000000# -- <<<<< NOTICE THIS VALUE !!!
>
>);
>
>My GHS AdaMulti compiler reports this error:
>
> LRM:4.9(35), The static expression which is not part of a larger
>static expression is outside the base range of its expected type.
>
>My Gnat compiler, on the other side, does not say anything.
>
>What's wrong with this such a 16#80000000# value?
>--
>Ciao, Sandro
>
>
>Sent via Deja.com
>http://www.deja.com/
next prev parent reply other threads:[~2001-02-08 18:52 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-08 9:53 Representation clause for enumeratives Sandro Binetti
2001-02-08 10:12 ` Tarjei T. Jensen
[not found] ` <95u470$ho1$1@nnrp1.deja.com>
[not found] ` <95ua6q$mp4$1@nnrp1.deja.com>
2001-02-08 15:41 ` M. Kotiaho
2001-02-08 16:27 ` Steve O'Neill
2001-02-09 7:26 ` Sandro Binetti
2001-02-09 9:29 ` Martin Dowie
2001-02-08 15:55 ` Marin David Condic
2001-02-08 16:22 ` Rod Chapman
2001-02-10 6:34 ` Robert Dewar
2001-02-12 11:32 ` Rod Chapman
2001-02-08 18:52 ` Greg Bek [this message]
[not found] ` <Ndyg6.1048$y03.96769@news.flash.net>
2001-02-09 5:02 ` Ken Garlington
2001-02-10 6:29 ` Robert Dewar
2001-02-10 16:37 ` Ken Garlington
2001-02-10 17:29 ` Robert Dewar
2001-02-11 1:09 ` Ken Garlington
2001-02-11 5:27 ` Robert Dewar
2001-02-11 12:53 ` Laurent Guerby
2001-02-12 0:24 ` Robert Dewar
2001-02-12 20:10 ` Laurent Guerby
2001-02-11 14:50 ` Ken Garlington
2001-02-10 17:31 ` Robert Dewar
2001-02-11 1:09 ` Ken Garlington
2001-02-11 5:28 ` Robert Dewar
2001-02-11 14:50 ` Ken Garlington
2001-02-12 0:30 ` Robert Dewar
2001-02-12 2:34 ` Ken Garlington
2001-02-10 6:19 ` Robert Dewar
2001-02-10 11:42 ` David C. Hoos, Sr.
2001-02-10 16:37 ` Ken Garlington
[not found] ` <3A829EB8.A098925E@baesystems.com>
[not found] ` <95uae3$n5j$1@nnrp1.deja.com>
2001-02-12 9:12 ` Stuart Palin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox