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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8057d38c9d4235d9 X-Google-Attributes: gid103376,public From: Mats Weber Subject: Re: Smart compilers? Date: 1998/01/26 Message-ID: <34CC6D8D.57D9B9BB@elca-matrix.ch>#1/1 X-Deja-AN: 319302368 Content-Transfer-Encoding: 7bit References: <199801231254.NAA10827@olaris.misil> Content-Type: text/plain; charset=us-ascii Organization: ELCA Matrix SA Mime-Version: 1.0 Reply-To: Mats.Weber@elca-matrix.ch Newsgroups: comp.lang.ada Date: 1998-01-26T00:00:00+00:00 List-Id: Fredrik Thoernblad wrote: > > I thought that one reason for using specs and bodies was that when just > a body changed and not the spec there was no need to recompile anything > else than the body. > This feature seems to be overlooked by the compiler manufacturers. > At least with my compiler, verdix, and probably Rationals VADS as well, Verdix and Rational VADS is the same compiler. Rational bought Verdix a few yers ago. > haven't had time to try it that much. > Which ada compilers use this feature to reduce compile time? Most compilers do, including Verdix. But Verdix introduces additional program units in an attempt to optimize the compilation of generics, and that mechanism often goes wrong. I very often have to zap the library and recompile everything from scratch to get a working executable. You can check if you are in trouble by doing a.make -v twice, and if something gets compiled the second time, it's best to zap the library. I must say that in this case, GNAT's simple "one object file per unit" model is a breath of fresh air. It does take a little longer to compile complicated nested generics, but library corruption is totally gone.