Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!hao!ames!sdcsvax!ucsdhub!jack!man!nusdhub!rwhite From: rwhite@nusdhub.UUCP Newsgroups: comp.lang.c Subject: Re: MAJOR ANSI C FLAW (my opinion, of course) Message-ID: <171@nusdhub.UUCP> Date: Thu, 22-Oct-87 17:15:42 EST Article-I.D.: nusdhub.171 Posted: Thu Oct 22 17:15:42 1987 Date-Received: Sun, 25-Oct-87 06:16:54 EST References: <2997@husc6.UUCP> <2520@cbmvax.UUCP> <1748@chinet.UUCP> Organization: National University, San Diego Lines: 50 Keywords: Six character external identifier minimum conformance ANSI standard Summary: A simple paraphrase... In article <1748@chinet.UUCP>, dag@chinet.UUCP (Daniel A. Glasser) writes: > Oh come on now! It has been said before, and will be said again... > I have a copy of the ANSI document in front of me, and the six character > limit is not a fixed number -- It is a MINIMUM for conforming compilers. This is a plain english paraphrase of the above posting, and some of the other pertinent postings. 1) If your C complier produces 31 char dual case externals, it conforms to the ANSI draft. If it only produces 5 char externals, it does not. 2) NO SORCE CODE (anyware!) will need to be re-writen to be conformant. if it already uses 1, 2, 3, 4, 5, 6, 24, or whatever significant multi-case externals in it's environment, it conforms within it's system. It is only the way the compileres handle their symbol tables that is at issue here. 3) The whole bit about the linkers is as follows: a) Linkers are essentally the "center" of a compilation/software development environment. b) Linkers must be able to deal with every compiler and assembeler on a given system. c) If the "minimum confromance" on a C compiler were jacked up to 31 dual case externals, _sombody_ someware would have to eat the cost of updating all the linkers that are already in place. d) The same people who update the installed base of linkers would also have to eat the cost of updating any and all compilers on the same systems. [if they use fortran fo instance] 4) By leaving the minimum conformance at 6 mono-case externals, a vendor which needs to produce code compatable to their installed base of other software, debuggers, compilers, linkers, archives [as in unix "ar"], and utilities like crash, dump, etc [ad nasuim] can produce such a compiler and STILL be conformant. 5) Most likely checking for extreemly small mono-case externals, or possibly the NOT checking the above, will be implemented as preprocessor swithches [or some such] and all the new C compilers will be capable of dealing with large dual-case externals. 6) NOBODY ANYWHERE SAID: six, only six. No more, no less. The wording is the way it is to prevent thousands of installations around the world from being left out in the cold with only a $22,000.00 upgrade bill for company. 7) If your system takes 'em big, use 'em big!! Rob.