Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!mit-eddie!uw-beaver!tektronix!cae780!daniels From: daniels@cae780.TEK.COM (Scott Daniels) Newsgroups: comp.lang.misc,comp.lang.c,comp.lang.fortran,comp.lang.pascal Subject: Re: Names of non-local objects Message-ID: <4314@cae780.TEK.COM> Date: Mon, 27-Jul-87 14:06:56 EDT Article-I.D.: cae780.4314 Posted: Mon Jul 27 14:06:56 1987 Date-Received: Wed, 29-Jul-87 03:12:14 EDT References: <557@l.cc.purdue.edu> <6173@brl-smoke.ARPA> Reply-To: daniels@cae780.UUCP (Scott Daniels) Distribution: world Organization: Tektronix, Inc., Beaverton, OR. Lines: 25 Xref: mnetor comp.lang.misc:583 comp.lang.c:3323 comp.lang.fortran:176 comp.lang.pascal:220 In article <6173@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB)) writes: >In article <557@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: >>This would enable the user who, for some reason, >>wishes to combine programs from different compilers not to have to worry >>about what mangling of names is done by this compiler on this system. > >There is a lot more to worry about than simply matching of external >names by the linker. Inter-language linkage can be quite tricky,... Perhaps what we need is something more of the following form: #pragma interface_name c_name = external_name Which would maker all uses of "c_name" in the C source show as "external_name" in the linker. This allows you to avoid the nasty assembly language step if all you want is to avoid name convention problems (ie if a C call can be made "close enough", or a C procedure can cope with the others call format.) This certainly fits smoothly in the language, since there is no need to use this feature within a full C-world, and the "wart" stands out in a single place. FROM: Scott Daniels, Tektronix CAE 5302 Betsy Ross Drive, Santa Clara, CA 95054 UUCP: tektronix!teklds!cae780!daniels {ihnp4, decvax!decwrl}!amdcad!cae780!daniels {nsc, hplabs, resonex, qubix, leadsv}!cae780!daniels