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,bd3300f3a56e7f45 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-03-18 16:16:57 PST Path: archiver1.google.com!news1.google.com!news.glorb.com!wn52feed!worldnet.att.net!207.217.77.102!elnk-nf2-pas!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!newsread1.news.pas.earthlink.net.POSTED!a6202946!not-for-mail From: Jeffrey Carter Organization: jrcarter commercial-at acm [period | full stop] org User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4) Gecko/20030624 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: different compilers: different standard types????? References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Fri, 19 Mar 2004 00:16:57 GMT NNTP-Posting-Host: 63.184.0.12 X-Complaints-To: abuse@earthlink.net X-Trace: newsread1.news.pas.earthlink.net 1079655417 63.184.0.12 (Thu, 18 Mar 2004 16:16:57 PST) NNTP-Posting-Date: Thu, 18 Mar 2004 16:16:57 PST Xref: archiver1.google.com comp.lang.ada:6426 Date: 2004-03-19T00:16:57+00:00 List-Id: Marius Amado Alves wrote: > > 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. ARM 3.5.4 says, "An implementation may provide additional predefined signed integer types, declared in the visible part of Standard, whose first subtypes have names of the form Short_Integer, Long_Integer, Short_Short_Integer, Long_Long_Integer, etc." The operative word is "may". Integer is the only predefined integer type required (in Standard). Long_Integer is just as non-standard as Long_Long_Integer. You don't have to use [Long_]Long_Integer as a base. You should declare your numeric types based on your application's requirements: type T is range ; -- Jeff Carter "Run away! Run away!" Monty Python and the Holy Grail 58