Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 (Tek) 9/26/83; site tekecs.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!houxm!vax135!cornell!uw-beaver!tektronix!orca!tekecs!joemu From: joemu@tekecs.UUCP (Joe Mueller) Newsgroups: net.lang.c Subject: Re: Standardization questions (cpp mostly) Message-ID: <4102@tekecs.UUCP> Date: Mon, 8-Oct-84 13:51:57 EDT Article-I.D.: tekecs.4102 Posted: Mon Oct 8 13:51:57 1984 Date-Received: Tue, 9-Oct-84 04:14:49 EDT References: <1209@rti-sel.UUCP> Organization: Tektronix, Wilsonville OR Lines: 23 > The number of predefined CPP variables on systems worldwide > is growing weekly. The following innocent program fails to compile > on our Gould system: > grumble() > { > int sel; > > sel = selectone(); > ... > } > The reason is that 'sel' is a predefined CPP variable! > (It is quite difficult for a novice user to figure out what is going wrong.) > Other people will find similar strange problems if they use > variables named 'pyramid', 'sun', and so on. This is ridiculous! The ANSI committee has concidered this problem. The current draft will state that predefined macros are implementation defined (They will exist BUT you will be provided with a list of them and what they are defined to be), and all conforming compilers MUST have some way of disabling all predefined macros. This way if your application does not want to use them, you may easily remove them without a never-ending, always changing list of #undef foobar's.