comp.lang.ada
 help / color / mirror / Atom feed
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.




  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