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.9 required=5.0 tests=BAYES_00,SYSADMIN autolearn=no 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 23:44:11 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!arclight.uoregon.edu!wn13feed!wn12feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi.com!sccrnsc02.POSTED!not-for-mail From: tmoran@acm.org Newsgroups: comp.lang.ada Subject: Re: Crosspost: Help wanted from comp.compilers References: X-Newsreader: Tom's custom newsreader Message-ID: <_ArRa.81541$H17.26007@sccrnsc02> NNTP-Posting-Host: 12.234.13.56 X-Complaints-To: abuse@comcast.net X-Trace: sccrnsc02 1058424250 12.234.13.56 (Thu, 17 Jul 2003 06:44:10 GMT) NNTP-Posting-Date: Thu, 17 Jul 2003 06:44:10 GMT Organization: Comcast Online Date: Thu, 17 Jul 2003 06:44:10 GMT Xref: archiver1.google.com comp.lang.ada:40385 Date: 2003-07-17T06:44:10+00:00 List-Id: >Apparently, people needed to recompile some modules for debugging >or optimization, and this triggered cascades which made them unhappy. >Since the source files hadn't changed, they weren't being unreasonable >in their expectations. Ada83 didn't require such behavior. I'm reminded of days spent at the "help desk" in grad school. "You say the program used to work and now doesn't and you didn't change anything. Why did you run it a second time if you didn't change anything?" To which the answer always was "well, I just made this one little change..." Remember that Ada has separate specs and bodies. If you want to change the optimization or get additional debug output on the body, you can recompile the body and it doesn't cause cascades. If you recompile the spec with a different optimization level then some things (record layouts, for instance) might change, and you certainly had better recompile anything that depends on that spec. If you made no changes to the source of a spec and you made no changes to the compiler switches, and you are using the same identical compiler exe, and you didn't clobber the object file, then why the heck are you recompiling? > GNAT doesn't exhibit such behavior. I just 'touch'ed a spec file, but made no changes. I then ran gnatmake with the same options as previously. Lo and behold, Gnat recompiled the spec, the body, and the main program that 'with'ed that spec. So Gnat most assuredly does recompile when there might be a change. BTW, I recall as one of the nicest things about my first Ada compiler, Janus (long before Gnat), was that it didn't need a "make" or special library database. Just like gnatmake, it looked at the files on disk and recompiled just what was necessary.