garry@batcomputer.tn.cornell.edu (Garry Wiegand) (12/15/86)
I notice in Martin Minow's C-spec postings that the spec currently says that external identifiers may - dependent on implementation - be significant in as few as the first 6 characters. I have a System V - derived machine that only recognizes 16 characters. Big Blue only does 6, naturally. I like long and descriptive names, but I also like to be somewhat portable. So: Question 1: are there *other* C implementations which do less than 31? (If so, what's their choice, please?) Question 2: are there *any* pre-processor implementations which do not adhere to the full 31? thanks garry wiegand (garry%cadif-oak@cu-arpa.cs.cornell.edu)
KLH@sri-nic.arpa (Ken Harrenstien) (12/18/86)
The implementations for the DEC PDP-10 that I know of only allow 6 significant monocase characters in external identifiers; this is a limitation imposed on almost all PDP-10 software by the format of standard relocatable files (the latest format does provide for longer symbols but is both too new and incomplete to help any). -------
philip@axis.UUCP (Philip Peake) (12/18/86)
In article <1825@batcomputer.tn.cornell.edu> garry%cadif-oak@cu-arpa.cs.cornell.edu writes: >I notice in Martin Minow's C-spec postings that the spec currently says >that external identifiers may - dependent on implementation - be significant >in as few as the first 6 characters. > Not only is the limit only 6 chars, but it is CASE INDEPENDENT too. So the identifiers 'var1' and 'Var1' are the same - BUT only when making EXTERNAL linkages, within the same file they are different. Disgusting, isn't it ? Are we really approaching the end of the 20th century ? Some people seem to be unwilling to recognise it, and to dispose of linke editors which should have died long ago ... Philip
henry@utzoo.UUCP (Henry Spencer) (12/19/86)
> Question 1: are there *other* C implementations which do less than 31? (If > so, what's their choice, please?) Well, there's always the original C compilers from Bell Labs -- you would be surprised at how many copies of them and their direct derivatives are still in use -- which implemented 7-character significance for external names. Old DEC operating systems, some of which have C compilers, only support 6 in the linkers. There are probably more. > Question 2: are there *any* pre-processor implementations which do not adhere > to the full 31? No shortage; see above note about original C compilers, which only kept 8 for preprocessor identifiers. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,decvax,pyramid}!utzoo!henry
lum@osu-eddie.UUCP (Lum Johnson) (12/21/86)
In article <1630@brl-adm.ARPA> KLH@sri-nic.arpa (Ken Harrenstien) writes: >The implementations for the DEC PDP-10 that I know of only allow 6 >significant monocase characters in external identifiers; this is a >limitation imposed on almost all PDP-10 software by the format of >standard relocatable files (the latest format does provide for longer >symbols but is both too new and incomplete to help any). That is correct for relocatable files acceptable to pre-V6 LINK; V6 LINK accepts symbol names significant upto 72 SIXBIT-compatible ASCII chars with case being optionally significant. Digital is withdrawing support from the PDP-10 architecture, so it will either disappear soon or be appropriately updated and supported by the formation of a user consortium, as recently requested at DECUS. Lum Johnson lum@ohio-state.arpa ..!cbosgd!osu-eddie!lum
tanner@ki4pv.UUCP (Tanner Andrews) (12/21/86)
) Question 1: are there *other* C implementations which [have ) shorter than] 31 [char identifiers? Well, my CP/M compiler handles identifiers up to <settable> chars -- but its output goes through macro-80. Macro-80 deals in 6-char monocase names, much as the old DEC and IBM tools do. -- <std dsclm, copies upon request> Tanner Andrews
greg@utcsri.UUCP (Gregory Smith) (12/23/86)
In article <6928@ki4pv.UUCP> tanner@ki4pv.UUCP (Tanner Andrews) writes: >Well, my CP/M compiler handles identifiers up to <settable> chars -- but >its output goes through macro-80. Macro-80 deals in 6-char monocase >names, much as the old DEC and IBM tools do. >-- ><std dsclm, copies upon request> Tanner Andrews If you mean MicroSoft M80, I have quick patch which makes M80 into a dualcase assembler. The dualcase symbols are passed to L80, which doesn't seem to mind. Of coure, predefined words like mnemonics and DB and END then must be in uppercase. These patches will only work on the same rev of the assembler that I am using. (At top of listing: MACRO-80 3.44 30-Mar-82). If you are interested, send me mail, and I will reply or post to comp.os.cpm. Strictly, this is infringing on MS's copyright, but I've strictly already done that by doing the patches in the first place. Besides, it's just so darn useful... I have used this patched assembler for gzillions of lines of code, and not a glitch... -- ---------------------------------------------------------------------- Greg Smith University of Toronto UUCP: ..utzoo!utcsri!greg Have vAX, will hack...