Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!mcnc!rti!xyzzy!meissner From: meissner@xyzzy.UUCP (Michael Meissner) Newsgroups: comp.std.c Subject: Re: 31 character identifier length (was: __STDC__ and non-strictly conforming ANSI C compilers) Keywords: ANSI C, __STDC__ Message-ID: <2551@xyzzy.UUCP> Date: 1 Jan 89 21:49:29 GMT References: <3236@pegasus.ATT.COM> <9167@smoke.BRL.MIL> <12643@bellcore.bellcore.com> <9234@ihlpb.ATT.COM> Reply-To: meissner@xyzzy.UUCP (Michael Meissner) Organization: Data General (Languages @ Research Triangle Park, NC.) Lines: 26 In article <9234@ihlpb.ATT.COM> nevin1@ihlpb.UUCP (55528-Liber,N.J.) writes: | Although you are correct here (as per 10/88 draft), is this really what | is intended? Should it really be possible for | | ThirtyTwoCharacterFunctionName00(); | | ThirtyTwoCharacterFunctionName01(); | | to reference different functions on some *conforming* implementations and | to reference the same function on other *conforming* implementions, | without either one having to give out even a warning (Note: you may | say that the 'function multiply defined' error will come up when | linking takes place; however, if you are using libraries this won't | necessarily happen)? Given that all the standard requires is that EXTERNAL names match in the first SIX (6) characters, with no case distinction, it is certainly within the realm of possible implementations to only recognize external names to 31 characters. And yes, much time was spent in debating this (and flaming on the net as well). As with many painful choices the committee made, this was not done lightly. It was done because of various old musty linker or assembler technology that cannot be changed. -- Michael Meissner, Data General. Uucp: ...!mcnc!rti!xyzzy!meissner Arpa: meissner@dg-rtp.DG.COM (or) meissner%dg-rtp.DG.COM@relay.cs.net