Xref: utzoo comp.lang.c:9315 comp.sys.ibm.pc:14456 Path: utzoo!mnetor!uunet!pwcmrd!skipnyc!atpal!tneff From: tneff@atpal.UUCP (Tom Neff) Newsgroups: comp.lang.c,comp.sys.ibm.pc Subject: Re: cdecl keyword Message-ID: <127@atpal.UUCP> Date: 14 Apr 88 16:36:28 GMT References: <1238@wjvax.UUCP> <297@ho7cad.ATT.COM> <1242@wjvax.UUCP> <7595@brl-smoke.ARPA> <4259@cup.portal.com> <7606@brl-smoke.ARPA> <982@micomvax.UUCP> <7682@brl-smoke.ARPA> Reply-To: tneff@atpal.UUCP (Tom Neff) Organization: Rational Technologies, Inc. Lines: 15 Summary: Why it exists at all Correct me if I'm wrong, but wasn't /cdecl/ added solely for the purpose of overriding the interface model when a user specifies (to compilers offering this) that a module is to be compiled with, say, Pascal interfaces? The idea being that the vendor's RTL interfaces have to stay 'C' compatible even if all the user's entry points use another model. I thought that was why all the header files use /cdecl/ in the prototype; I also thought that for the same reason, it would normally be unnecessary for a user to add /cdecl/ to his own code unless he was writing a module with several different interface models at once. (Sounds messy.) I agree that this could be done via #pragma, and possibly should. TMN -- Tom Neff