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

Defect in XSH 2.2.1.2

To: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
Subject: Defect in XSH 2.2.1.2
From: Geoff Clare <yyy@xxxxxxxxxxxxx>
Date: Mon, 3 Oct 2005 16:53:51 +0100
@ page 14 line 559 section 2.2.1.2 objection [gwc _POSIX_C_SOURCE]

Problem:

Defect code :  1. Error

Some implementations define _POSIX_C_SOURCE themselves if the
application only defines _XOPEN_SOURCE.  It is not clear whether
the standard allows this.

The problem arises because of the change of status of the _POSIX_
prefix.  With POSIX.1-1996 and SUSv2, there was no problem with
implementations defining _POSIX_C_SOURCE themselves when
_XOPEN_SOURCE was 500, since symbols beginning _POSIX_ were in
the namespace reserved for the implementation.

In the current standard symbols beginning _POSIX_ are reserved for
use by the POSIX standards, and thus can only be defined by
implementations when a POSIX standard either requires or explicitly
permits them to do so.  Therefore it would appear that implementations
are not currently allowed to define _POSIX_C_SOURCE themselves when
_XOPEN_SOURCE is 600.

This new limitation was probably not intentional, and should be
removed by explicitly allowing implementations to define
_POSIX_C_SOURCE if the application only defines _XOPEN_SOURCE.

Action:

Add a new paragraph to the end of section 2.2.1.2 "The _XOPEN_SOURCE
Feature Test Macro" (within the XSI shading):

   "If _XOPEN_SOURCE is defined with the value 600 and _POSIX_C_SOURCE
   is undefined before inclusion of any header, then the header may
   define the _POSIX_C_SOURCE macro with the value 200112L."

<Prev in Thread] Current Thread [Next in Thread>
  • Defect in XSH 2.2.1.2, Geoff Clare <=