Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!swrinde!mips!dimacs.rutgers.edu!rutgers!cmcl2!lanl!cochiti.lanl.gov!jlg From: jlg@cochiti.lanl.gov (Jim Giles) Newsgroups: comp.lang.c Subject: Re: low level optimization Message-ID: <22027@lanl.gov> Date: 19 Apr 91 23:09:13 GMT References: <21660@lanl.gov> <1991Apr17.225944.15261@zoo.toronto.edu> <1991Apr18.190403.29049@Think.COM> <21846@lanl.gov> <1991Apr18.233807.19552@zoo.toronto.edu> <21868@lanl.gov> <21227@paperboy.OSF.ORG> Sender: news@lanl.gov Organization: Los Alamos National Laboratory Lines: 25 > This has never been the case. Using pre-ANSI syntax: > B: > some_routine(123); > > A: > some_routine(arg) {... > > A after editing: > some_routine(flag, arg) Irrelevant to this discussion since it was always clearly understood (and clearly stated at the beginning of the discussion) that the valid means of communication between separately translated units were external functions and external variables. If you introduce a change which makes these incompatible, you have stepped outside the domain of this discussion. The main purpose of separate compilation is two-fold: to save compilation time when only part of the code has been modified and to allow a vendor to alter his libraries for revisions without having to distribute the _whole_ library again or distribute source. Presumably, incompatible revisions require more effort than the more common compatible ones. J. Giles