Why does the ANSI Standard place limits on the length and case-significance of external identifiers?
The problem is linkers which are under control of neither the ANSI/ISO Standard nor the C compiler developers on the systems which have them. The limitation is only that identifiers be significant in some initial sequence of characters, not that they be restricted to that many characters in total length. (The limitation was to six characters in the original ANSI Standard, but has been relaxed to 31 in C99.) References: ISO Sec. 6.1.2, Sec. 6.9.1 Rationale Sec. 3.1.2 C9X Sec. 6.1.2 H&S Sec. 2.5 pp. 22-3 comp.lang.c FAQ list ยท Question 11.28 Q: What was noalias and what ever happened to it? A: noalias was another type qualifier, in the same syntactic class as const and volatile, which was intended to assert that an object was not pointed to (“aliased”) by other pointers. The primary application, which is an important one, would have been for the formal parameters of functions designed to perform computations on large arrays. A compiler cannot usually take advantage of vectorization or
Related Questions
- Will the standard length of 10 Metres co-ax cable be sufficient to get from external antenna location to repeater?
- Why does the ANSI Standard not guarantee more than six monocase characters of external identifier significance?
- Why does the ANSI Standard place limits on the length and case-significance of external identifiers?