Mail Archives: djgpp/2015/06/06/02:44:14
> From: Nick Bowler <nbowler AT draconx DOT ca>
> Date: Fri, 5 Jun 2015 20:19:57 +0000 (UTC)
>
> On Fri, 05 Jun 2015 22:01:11 +0300, Eli Zaretskii (eliz AT gnu DOT org) wrote:
> >> From: Nick Bowler <nbowler AT draconx DOT ca>
> >> Names starting with E followed by a digit or an uppercase letter are
> >> reserved if <errno.h> is included.
> >
> > I don't see this text in the standard.
>
> It was not a quote from the standard.
>
> >> C99§7.5p4 Errors <errno.h>:
> >>
> >> Additional macro definitions, beginning with E and a digit or E and
> >> an uppercase letter, may also be specified by the implementation.
> >>
> >> This text was copied unchanged into C11. I am quite sure it was also
> >> present in C89.
> >
> > It's indeed present in C89, but I don't see how it reserves these
> > names.
>
> It's reserved for the implementation (DJGPP in this case) because this
> text occurs in a library subclause. You need to go back to the section
> on reserved identifiers. In particular:
>
> C99§7.1.3p1 Reseverd Identifiers
>
> ... Each macro name in any of the following subclauses (including
> the future library directions) is reserved for use as specified
> if any of its associated headers is included; unless explicitly
> stated otherwise (see 7.1.4).
>
> This text is also unchanged in C11.
Yes, I've seen this text (I searched the entire standard for
"reserved"). But my reading of this is that it refers to the macro
names that are explicitly mentioned "in the following clauses".
Saying that additional macros "may also be specified by
implementation" does not, in my mind, include those in the reserved
identifiers class.
- Raw text -