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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b16c9883f36bc904 X-Google-Attributes: gid103376,public From: Brian Rogoff Subject: Re: WinNT ADA compilers comparison Date: 2000/08/03 Message-ID: #1/1 X-Deja-AN: 654107096 References: <3976C68A.12386D00@cadwin.com> <8l7fff$9kb$1@front1.grolier.fr> <3A92E737.E690906A@free.fr> <3978041A.EB0F8FCE@cadwin.com> <8lcgbi$gvb$1@front5.grolier.fr> <397C03F9.AF6DF60F@cadwin.com> <86zon5aio7.fsf@acm.org> <8m8psc$ef6$1@nnrp1.deja.com> <8m9a08$pu7$1@nnrp1.deja.com> <8mak9p$rbm$1@nnrp1.deja.com> Content-Type: TEXT/PLAIN; charset=US-ASCII X-Complaints-To: abuse@verio.net X-Trace: sjc-read 965325142 206.184.139.136 (Thu, 03 Aug 2000 17:52:22 GMT) Organization: Verio MIME-Version: 1.0 NNTP-Posting-Date: Thu, 03 Aug 2000 17:52:22 GMT Newsgroups: comp.lang.ada Date: 2000-08-03T00:00:00+00:00 List-Id: On Thu, 3 Aug 2000 n_brunot@my-deja.com wrote: > In article <8m9a08$pu7$1@nnrp1.deja.com>, > gdemont@my-deja.com wrote: > > > Did you avoid inlining (-gnatn or -gnatN) too ? > > A solution would be to share more instanciations of generics > > e.g. having common subtypes. Create 1-line packages for those > > generic ones used many times: > > "with such_generic; package such_inst is new such_generic(x,y,z);" > > If there are many main procedures p1, p2,... > > (-> several linked executables p1.exe, p2.exe) > > using almost the same packages, shell them through a common one > > "with p1,p2,...; procedure p is..." > > We try not introducing any changes in our specifications and tools just > to satisfy one compiler if all others are happy with a perfectly > satisfying code (especially a compiler we don't use for release version) To be clear here, it isn't that GNAT is unhappy (i.e., doesn't work) with your code, it is that you are unhappy with the code size because your original code uses a style suitable with a generic sharing implementation and GNAT implements generics with macro expansion, like C++ compilers, right? I guess I always code to a macro expanding implementation in Ada since I was raised on GNAT, but I see that this is a real issue if you are used to something else. I don't know if GNAT is going to change anytime soon; Robert Dewar mentioned that there is a DEC patent on generic sharing which implementors had to be cautious of. Find the date it was issued, and add 17 to get an idea of when we might hear talk of a generic sharing GNAT ;-) > gnat 3.12p is one we use to check our code, but anyway it is unusable > for our applications due to its very poor reliability when components > of foreign code are called under WinNT, (see discussion for > float_io.put on gnat chat july archives www.gnat.com) OK, that's a different issue. -- Brian