macro names

James Jones jejones at mcrware.UUCP
Fri Jan 11 06:26:51 AEST 1991


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



More information about the Comp.std.c mailing list