From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4751d44ff54a2c2c X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-07-29 21:29:22 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: dewar@gnat.com (Robert Dewar) Newsgroups: comp.lang.ada Subject: Re: 64-bit integers in Ada Date: 29 Jul 2002 21:29:22 -0700 Organization: http://groups.google.com/ Message-ID: <5ee5b646.0207292029.71538c94@posting.google.com> References: <3CE3978F.6070704@gmx.spam.egg.sausage.and.spam.net> NNTP-Posting-Host: 205.232.38.240 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1028003362 32601 127.0.0.1 (30 Jul 2002 04:29:22 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 30 Jul 2002 04:29:22 GMT Xref: archiver1.google.com comp.lang.ada:27471 Date: 2002-07-30T04:29:22+00:00 List-Id: Victor Giddings wrote in message news:... > > Try using (or deriving from) Interfaces.Integer_64 or Integer.Unsigned_64. > Admittedly, this requires 2 steps on the part of the compiler developer. 1) > actually support the 64-bit integer type. 2) to put it in Interfaces (as > required by B.2(7)). However, we rely on this in our CORBA product > implementation and have been making sure that the compiler vendors are > adding these types when they are supported. > > As of now, I know of only one compiler that supports 64-bit integers and > doesn't define Interface.Integer_64. That is to be remedied very soon. I don't understand the point of this advice. What does this gain over just declaring the type you want. Either construct will be rejected if the compiler does not support 64 bit integers. Actually there is no requirement in the RM that a compiler that supports 64-bit integers must have this declaration there. On a 36-bit machine like the PDP-10 you would expect to find Interfaces.Integer_72, but not Interfaces.Integer_64. I would also argue that it is dubious to expect Interfaces.Integer_64 on a 32 bit machine. Are 64 bit integers "supported by the target architecture?" Well it's arguable. Far simpler to use type I64 is mod 2 ** 64; if that's what you want!