Maximum variable name length

I'd like to verify what the maximum variable name length (specifically names of I/O pins) is. Can't find it mentioned anywhere.

I assume it is the same as industry standard C++ (32 characters), but it can vary depending on the C++ compiler. Plus, everyone knows what making assumptions can do.


Don’t know, but you could try 33 to see if it works.


All characters are significant - any length!

I don't know where you get the idea that 32 is an industry standard. Apparently the C standard requires at least 64. It looks like there is a compiler option ("-fidentifier-length=n") that allows you to change it.

For the GNU compiler:

The number of significant initial characters in an identifier (C90 6.1.2, C90, C99 and C11, C99 and C11 6.4.2). For internal names, all characters are significant. For external names, the number of significant characters are defined by the linker; for almost all targets, all characters are significant. Whether case distinctions are significant in an identifier with external linkage (C90 6.1.2). This is a property of the linker. C99 and C11 require that case distinctions are always significant in identifiers with external linkage and systems without this property are not supported by GCC.