Number of significant characters in identifiers

Ian Lance Taylor iant@google.com
Wed May 25 08:21:00 GMT 2011


"Jeffrey D. Cherry" <jeff.cherry@actasc.com> writes:

> We are evaluating some C code based on MISRA C:2004 standards, which
> state that "Identifiers (internal and external) shall not rely on the
> significance of more than 31 characters."  The code uses a lot of
> internal identifiers that exceed the 31 character limit.  The code is
> compiled with an old version of gcc, specifically version 2.96.  From
> the documentation of the current version of gcc, we know that for all
> internal names, all characters are significant.  Was this also the
> case for the older version of the compiler, even for the venerable old
> version 2.96?  If so, is there some document that states this?  (I
> can't find documentation that goes back to this old a version of the
> gcc.)  Thanks in advance for any help you can provide.

The gcc compiler has never put any limit on the number of significant
characters in an identifier.  I don't know whether this was ever
documented.

What matters here, though, is not gcc, but the assembler and linker.
Those are not part of gcc.  Some assemblers and linker limit the length
of externally visible symbols.  The GNU assembler and linker have never
had any limits, though.

Ian



More information about the Gcc-help mailing list