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,d6f7b92fd11ab291 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-07-16 21:35:08 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!news.maxwell.syr.edu!news.airnews.net!cabal12.airnews.net!usenet From: "John R. Strohm" Newsgroups: comp.lang.ada Subject: Re: Crosspost: Help wanted from comp.compilers Date: Wed, 16 Jul 2003 23:29:53 -0500 Organization: Airnews.net! at Internet America Message-ID: References: <1058275843.720814@master.nyc.kbcfp.com> <3F158832.1040206@attbi.com> <1058378673.35463@master.nyc.kbcfp.com> <1058390613.119827@master.nyc.kbcfp.com> Abuse-Reports-To: abuse at airmail.net to report improper postings NNTP-Proxy-Relay: library2.airnews.net NNTP-Posting-Time: Wed, 16 Jul 2003 23:33:22 -0500 (CDT) NNTP-Posting-Host: !YdI:1k-XXe4C`> (Encoded at Airnews!) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Xref: archiver1.google.com comp.lang.ada:40383 Date: 2003-07-16T23:29:53-05:00 List-Id: "Hyman Rosen" wrote in message news:1058390613.119827@master.nyc.kbcfp.com... > John R. Strohm wrote: > > Consider a package spec, that declares a procedure. Change the procedure > > Did you actually read what I and some of the sites I quoted said? > > The broken systems triggered cascading recompiles when a spec was > recompiled *whether or not the spec had changed*. There are several > instances mentioned where people wanted to recompile a module for > extra debugging or optimization, and that in itself triggered the > cascade, even though no source file had changed. Hyman, it occasionally appears to me that you insist on thinking with your preconceptions rather than your brain. Consider a C example, first. magic_value.h: #ifndef _MAGIC_VALUE #define _MAGIC_VALUE #define MAGIC 42 #endif test_array.c: #include "magic_value.h" static int bletch[4] = { MAGIC, MAGIC, 0, MAGIC }; void main(void) { /* do something with bletch[] */ } Now, Hyman, it should be immediately obvious, even to you, that, if we change the line that defines the magic value in the .h file, we HAVE to recompile the .c file as well, even though the .c file has not changed one iota. Let's go a step further. magic_value.h: #ifndef _MAGIC_VALUE #define _MAGIC_VALUE #define MAGIC 42 #endif magic_square.h: #ifndef _MAGIC_SQUARE #define _MAGIC_SQUARE #include "magic_value.h" #define MAGICSQUARE ((MAGIC)*(MAGIC)) #endif test_square.c: #include "magic_square.h" static int magic_square[MAGICSQUARE]; void main(void) { for (i=0;i