Email List: Xaustin-review-lX
[All Lists]

Defect in XSH 2.2.2 The Name Space

To: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
Subject: Defect in XSH 2.2.2 The Name Space
From: yyyyyyyyyy@xxxxxxx
Date: Thu, 14 Aug 2003 00:18:48 +0100 (BST)
        Defect report from : Lee Damico , Sun Microsystems, Inc.

(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)

@ page 15 line 579-583 section 2.2.2 The Name Space objection {ld-1}

Problem:

Edition of Specification (Year): 2003

Defect code :  1. Error

The 2003 Edition of the Systems Interface, Issue 6, Volume 1 removed
the reserved prefixes for POSIX_, _POSIX_, posix_ that were previously
listed on page 17, line 651, under "ANY header". Though we believe the
intent was to remove ambiguity regarding the inclusion of symbols
prefixed by POSIX_, _POSIX_, and posix_, but NOT defined by the
standard, the end result appears to be that symbols specified by the
standard and prefixed with these names are only allowed in the headers
where they are defined. Where this becomes an issue specifically is
for the _POSIX_ prefix.  Visibility of symbols with an underbar and
upper case letter have always been allowed in any of the headers
defined by the standard. This is clarified on page 19, lines 713-714.
Now, it appears that there is an exception, that is when a symbol
is prefixed by _POSIX_ regardless of whether or not it is defined by
the standard.  We believe the intent was not to disallow visibility
of those symbols defined by the standard, but instead, to restrict
the namespace for _POSIX_ to that specified by the standard. The
suggested updates clarify what is and is not allowed.


Action:

Section 2.2.2, Page 15, Line 583

   Add the following sentence:

   Symbols defined in the standard that use the reserved 
   prefixes posix_, POSIX_ or _POSIX_ may be visible in 
   any header defined by the standard.

Section 2.2.2, Page 19, Lines 713 and 714

   Replace the sentence with:

   1. With the exception of identifiers beginning with _POSIX_, all
      identifiers that begin with an underscore and either an
      uppercase letter or another underscore are always reserved for
      any use by the implementation.

<Prev in Thread] Current Thread [Next in Thread>