Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site gumby.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!uwvax!gumby!g-frank From: g-frank@gumby.UUCP Newsgroups: net.lang.c Subject: Re: Lattice/UNIX incompatibility Message-ID: <236@gumby.UUCP> Date: Fri, 28-Dec-84 12:23:44 EST Article-I.D.: gumby.236 Posted: Fri Dec 28 12:23:44 1984 Date-Received: Sat, 29-Dec-84 23:27:08 EST References: <233@gumby.UUCP> <3194@alice.UUCP> Organization: U of Wisconsin CS Dept Lines: 27 > Every version of the Lattice compiler I have seen has four > non-standard things: > > 1. Comments nest. > > 2. If you try to pass a structure to a function > it quietly passes a pointer to the structure. > > 3. Every declaration of an external variable but > one must say 'extern'. > > 4. Case is ignored in external variables. > > This makes it quite a nuisance to port Unix applications. 1. Comment nesting can be turned off with a compiler option. 2. A pointer is passed, but not silently - a warning message is generated. 3. I'm not sure I understand this one. If I declare a variable and don't use the extern qualifier, storage is allocated. What do you mean? 4. This is an operating system problem. Obviously it will cause some problems. It is possible for non-extern idents to have long names (I think they are case-sensitive in any case), but the Microsoft linker and object file format don't accept long or case-sensitive names. What does the proposed ANSI standard say about the issue?