31 character identifier length (was: __STDC__ and non-strictly conforming ANSI C compilers)

Michael Meissner meissner at xyzzy.UUCP
Mon Jan 2 07:49:29 AEST 1989


In article <9234 at ihlpb.ATT.COM> nevin1 at 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 at dg-rtp.DG.COM   (or) meissner%dg-rtp.DG.COM at relay.cs.net



More information about the Comp.std.c mailing list