Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!usc!wuarchive!uunet!mcrware!jejones From: jejones@mcrware.UUCP (James Jones) Newsgroups: comp.std.c Subject: macro names Keywords: name spaces, reserved identifiers Message-ID: <4640@mcrware.UUCP> Date: 10 Jan 91 19:26:51 GMT Organization: Microware Systems Corp., Des Moines, Ia. Lines: 16 3.1.2.3 seems to say that there are four name spaces, the last-named one being a "none of the above" name space. 3.8.3 says that there is one name space for macro names. Is the name space mentioned in 3.8.3 one of the four listed in 3.1.2.3? (It's reasonable that it should be separate, since the standard is intended not to rule out a separate preprocessor, but I'm trying to figure out what the standard means.) Macro names also appear not to fall in any of the scope categories that are listed in 3.1.2.1 (aside from labels, the scopes in 3.1.2.1 are all defined in terms of the declarator in which the identifier appears, so they can't apply to a macro name, which is not declared as such; 3.8.3.5 also states that block structure is irrelevant to the scope of macro definitions). Given all this, are the identifiers named in 4.1.2.1 that don't begin with __ or _[A-Z] (p.98, lines 7-8) reserved for use as macro names or are they not? James Jones