From: Ludovic Brenta <ludovic.brenta@insalien.org>
Subject: Re: different compilers: different standard types?????
Date: 18 Mar 2004 15:21:46 +0100
Date: 2004-03-18T15:21:46+01:00 [thread overview]
Message-ID: <87hdwmnslh.fsf@insalien.org> (raw)
In-Reply-To: mailman.107.1079616931.327.comp.lang.ada@ada-france.org
Marius Amado Alves <maa@liacc.up.pt> writes:
> I have a related problem, at least with GNAT 3.15p, the compiler of
> all us poor academics.
>
> The standard requires that "the range of Integer should be no wider
> than that of Long_Integer" 3.5.4 (25). (I'm not sure this is an
> intelligent limitation, but never mind.)
Basically, this means that by definition, Long_Integer is at least as
long as Integer. It's not really a limitation, but a definition of
terms.
> GNAT defines Integer and Long_Integer for 32-bit, and
> Long_Long_Integer for 64-bit.
>
> So if you want to define an integral type with a greater range than
> (the associated with) 32 bits, you have to use Long_Long_Integer as
> a base. But then you hinder portability, because Long_Long_Integer
> is not standard.
>
> So I guess my question is: Why does not GNAT define Integer (and
> Long_Integer) for 64-bits? AFAICS the standard does not impose a
> upper limit on Integer. And don't tell me the answer is: Because
> then Short_Integer would have 32-bits, and that is not what the C
> world calls short.
It's not because of C, it's because in your case, GNAT targets a
32-bit processor. This means that, if you recompile GNAT to target a
64-bit machine, Integer and Long_Integer should become 64 bits wide.
You may also want to try -gnatdm, debug.adb says this forces
Long_Integer to be 64 bits wide on all targets, but it also warns that
this flag may cause other problems.
--
Ludovic Brenta.
next prev parent reply other threads:[~2004-03-18 14:21 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-17 8:15 different compilers: different standard types????? Riccardo
2004-03-17 17:10 ` Martin Krischik
2004-03-18 3:47 ` Steve
2004-03-18 10:37 ` Jean-Pierre Rosen
2004-03-18 13:09 ` Dmitry A. Kazakov
2004-03-18 13:13 ` Marius Amado Alves
2004-03-18 14:21 ` Ludovic Brenta [this message]
2004-03-18 14:45 ` Georg Bauhaus
2004-03-18 17:33 ` Marius Amado Alves
2004-03-18 17:42 ` Martin Krischik
2004-03-19 0:16 ` Jeffrey Carter
[not found] ` <200403181313.16003.maa@liacc.up.pt>
2004-03-18 19:35 ` Duncan Sands
2004-03-19 1:08 ` Stephen Leake
[not found] ` <200403182035.57424.baldrick@free.fr>
2004-03-19 8:07 ` Marius Amado Alves
2004-03-19 3:29 ` Steve
2004-03-19 15:36 ` Marius Amado Alves
[not found] ` <00a401c40dc7$f2b333e0$c32416d5@netcabo.pt>
2004-03-19 16:03 ` Marius Amado Alves
[not found] ` <u7jxhprro.fsf@acm.org>
[not found] ` <005f01c40dbf$94ce9e20$c32416d5@netcabo.pt>
2004-03-19 13:19 ` Stephen Leake
2004-03-19 14:36 ` Marius Amado Alves
2004-03-19 10:16 ` Jean-Pierre Rosen
2004-03-20 0:52 ` Jeffrey Carter
2004-03-20 22:56 ` Marius Amado Alves
-- strict thread matches above, loose matches on Subject: below --
2004-03-19 7:33 Riccardo
2004-03-19 13:10 ` Martin Dowie
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox