31 character identifier length

Liber nevin1 at ihlpb.ATT.COM
Fri Dec 23 13:43:30 AEST 1988


In article <10237 at rpp386.Dallas.TX.US> jfh at rpp386.Dallas.TX.US (The Beach Bum) writes:

>My compiler d' jour provides warning messages only if two objects exist
>inside the same compilation unit and don't have names unique to 31
>characters.  One would hope the compiler would a) use the complete
>identifier, or 2) complain about a multiply defined symbol, but not
>accept a second definition and then ignore it ...

let me give a clearer example:

int	ThirtyTwoCharacterVariableIdentG;
...
void	foo(void)
{
	int	ThirtyTwoCharacterVariableIdentL;

	...
	ThirtyTwoCharacterVariableIdentG = 1;
	...
}

How a compiler handles this is, according to 3.1.2, 10/88 draft,
implementation limits section, paragraph 2, p.21:

"If two identifiers differ in a non-significant character, the behavior
is undefined."

In other words, using identifiers > 31 characters can be (although not
necessarily are) dangerous!
-- 
NEVIN ":-)" LIBER  AT&T Bell Laboratories  nevin1 at ihlpb.ATT.COM  (312) 979-4751



More information about the Comp.std.c mailing list