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,cc4a1f5e11494cc9 X-Google-Attributes: gid103376,public From: stt@spock.camb.inmet.com (Tucker Taft) Subject: Re: GNAT and subunits Date: 1995/03/30 Message-ID: #1/1 X-Deja-AN: 100540663 sender: news@inmet.camb.inmet.com references: <3la3fj$d7m@gnat.cs.nyu.edu> organization: Intermetrics, Inc. newsgroups: comp.lang.ada Date: 1995-03-30T00:00:00+00:00 List-Id: Robert Dewar (dewar@cs.nyu.edu) wrote: : ... : Now there are three options in the binder. Phil was apparently using the : first, which is the default, and is what is used by gnatbl if you let : gnatbl do the bind. I suspect that Phil wants to use the second or third. : Option 1 (default). Use object files only (and ALI files). The binder : in this mode COMPLETELY IGNORES source files. So of course when Phil : updated his subunit, and did a compilation to check its correctness which : had no effect on the object files, then the binder did not notice and used : the old objects without complaint. In this mode the binder merely checks : that the objects it sees are self consistent version-wide, but it does not : check that they are compatible with the source versions. : Option 2 (-a) All source file mode. In this mode, the binder requires that : (a) all sourrce files are present for all object files in the bind. : (b) the source file versions are consistent with the versions referenced : in the object files. : Option 3 (-s) Sources if available. In this mode, the binder will find sources : for whatever source files it can locate, and for this subset of sources, it : will ensure consistency with the object files. .. : P.P.S. In discussing these issues earlier today, we contemplated two : features that might reduce the surrprise factor for people who don't : read the documentation carefully: : 1. If a parent unit is compiled with subunits missing, then revert : automatically to -gnatc mode, complaining that "no code is : generated because subunits are missing" or somesuch. Sounds like a good idea. You probably want to make it a warning instead of an error, or else it will scare people. : 2. Change the default of the binder to -s mode, we have been considering : this for a while. : I would particularly be interested in people's reactions to suggestion 2. I think you should make the binder default "-s" to minimize the likelihood of "pilot" error. This also seems most compatible with the "conventional" Ada library model. -Tucker Taft stt@inmet.com Intermetrics, Inc.