Report 1927 Actions
Problem Report Number |
1927 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Rejected (REJ) |
Problem Resolution ID |
REJ.X.0563 |
Raised |
2000-02-03 08:00 |
Updated |
2003-03-13 08:00 |
Published |
null |
Product Standard |
Internationalised System Calls and Libraries Extended V2 (UNIX 98) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSX4 version 4.4.4 |
Test Identification |
ANSI.hdr/misc/stdlib 48 |
Problem Summary |
PG5R.006 /tset/ANSI.hdr/misc/stdlib/T.stdlib 48 Failed According to the X/Open specification on System Interface and Headers Issue 5 "The following identifiers are reserved regardless of the inclusion of heade... |
Problem Text |
/tset/ANSI.hdr/misc/stdlib/T.stdlib 48 Failed
According to the X/Open specification on System Interface and Headers Issue 5
"The following identifiers are reserved regardless of the inclusion of headers.
2. All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary identifier and tag name spaces."
But in the above test the testsuite complains about a identifier _fds_howmany which begins with an underscore.
|
Test Output |
/tset/ANSI.hdr/misc/stdlib/T.stdlib 48 Failed
Test Description: For POSIX90 and FIPS modes: When _POSIX_SOURCE is defined and no other feature test macros are defined, no other symbols than those defined or reserved by POSIX.1-1990 are made visible. For POSIX96 mode: When _POSIX_C_SOURCE is defined with the value 199506L and no other feature test macros except _POSIX_SOURCE are defined, no other symbols than those defined or reserved by POSIX.1-1996 are made visible. For XPG4 mode: When _XOPEN_SOURCE is defined and no other feature test macros except _POSIX_SOURCE, _POSIX_C_SOURCE=1 or _POSIX_C_SOURCE=2 are defined, no other symbols than those defined or reserved by XPG4 are made visible. For UNIX98 mode: When _XOPEN_SOURCE is defined with the value 500 and no other feature test macros except _POSIX_SOURCE or _POSIX_C_SOURCE<=199506L are defined, no other symbols than those defined or reserved by XSH5 are made visible. Posix Ref: Component C Language Definitions Assertion 2.7.2-05(B)
Test Strategy: FOR each unreserved struct/union member made visible by the header DEFINE a macro which will cause an error if not protected from expansion UNDEFINE those macros which correspond to allowed member names INCLUDE a copy of the header file modified to identify #defines FOR each unreserved symbol made visible by the header VERIFY that the symbol name is in a list of allowed names
Test Information: Feature test macros: -D_XOPEN_SOURCE=500 Compiler or run-time messages or results: Illegal #defined symbol: _fds_howmany
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The test result is correct. The failure relates to the definition of _fds_howmany as a macro, not as an identifier in the ordinary identifier or tag name spaces.
The only names beginning with underscore that are reserved for use as macros are those where the underscore is followed by an upper-case letter or another underscore. This derives from the following text in XSH5, which was omitted from the submitter's quote:
"1. All identifiers that begin with an underscore and either an upper-case letter or another underscore are always reserved for any use by the implementation."
Thus the names __fds_howmany and _Fds_howmany are allowed to be defined as macros, but _fds_howmany is not.
It is recommended that this request is refused.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Rejected (REJ) |
Review Conclusion |
This request is refused.
|
Problem Reporting System Options:
|