The following issue has been SUBMITTED. ====================================================================== https://austingroupbugs.net/view.php?id=1569 ====================================================================== Reported By: geoffclare Assigned To: ====================================================================== Project: 1003.1(2016/18)/Issue7+TC2 Issue ID: 1569 Category: Base Definitions and Headers Type: Error Severity: Objection Priority: normal Status: New Name: Geoff Clare Organization: The Open Group User Reference: Section: <unistd.h> Page Number: 438, 439 Line Number: 14980, 14983, 14986, 14989, 14992, 14998, 15001 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2022-03-15 15:21 UTC Last Modified: 2022-03-15 15:21 UTC ====================================================================== Summary: <b>pointer</b> is not a C-Language Data Type Description: The <unistd.h> and c99 pages have several uses of <b>pointer</b> as if it were a C-Language Data Type. For example the description of _POSIX_V7_LP64_OFF64 has:<blockquote>32-bit <b>int</b> and 64-bit <b>long</b>, <b>pointer</b>, and <b>off_t</b> types</blockquote> In addition to being a misuse of the typographic convention for data types, this also seems to assume/require that all pointers are the same width in each of the ILP32_OFF32, ILP32_OFFBIG, and LP64_OFF64 compilation environments, and that all pointers are at least 64 bits in LPBIG_OFFBIG. The desired action assumes that this is intentional. If it is not, then we'll need an alternative change that only states width requirements for the pointer to <b>void</b> type.
Desired Action: On page 438 line 14979 section <unistd.h>, and page 439 line 14991 section <unistd.h>, and page 441 line 15115 section <unistd.h>, and page 442 line 15119 section <unistd.h>, and page 442 line 15123 section <unistd.h>, change:<blockquote>32-bit <i>int</i>, <i>long</i>, <i>pointer</i>, and <i>off_t</i> types.</blockquote>to:<blockquote>32-bit <i>int</i>, <i>long</i>, <i>off_t</i>, and all pointer types.</blockquote> On page 438 line 14982 section <unistd.h>, and page 439 line 14994 section <unistd.h>, and page 442 line 15127 section <unistd.h>, and page 442 line 15132 section <unistd.h>, and page 442 line 15137 section <unistd.h>, change:<blockquote>32-bit <i>int</i>, <i>long</i>, and <i>pointer</i> types and an <i>off_t</i> type using at least 64 bits.</blockquote>to:<blockquote>32-bit <i>int</i>, <i>long</i>, and all pointer types and an <i>off_t</i> type using at least 64 bits.</blockquote> On page 438 line 14985 section <unistd.h>, and page 439 line 14997 section <unistd.h>, and page 442 line 15142 section <unistd.h>, and page 442 line 15147 section <unistd.h>, and page 442 line 15152 section <unistd.h>, change:<blockquote>32-bit <i>int</i> and 64-bit <i>long</i>, <i>pointer</i>, and <i>off_t</i> types.</blockquote>to:<blockquote>a 32-bit <i>int</i> type and 64-bit <i>long</i>, <i>off_t</i>, and all pointer types.</blockquote> On page 439 line 14988 section <unistd.h>, and page 439 line 15000 section <unistd.h>, and page 442 line 15157 section <unistd.h>, and page 442 line 15162 section <unistd.h>, and page 443 line 15167 section <unistd.h>, change:<blockquote>an <i>int</i> type using at least 32 bits and <i>long</i>, <i>pointer</i>, and <i>off_t</i> types using at least 64 bits.</blockquote>to:<blockquote>an <i>int</i> type using at least 32 bits and <i>long</i>, <i>off_t</i>, and all pointer types using at least 64 bits.</blockquote> On page 2547 line 82425 section c99, change:<blockquote><b>pointer</b></blockquote>to:<blockquote>pointer types</blockquote> On page 2549 line 82539 section c99, change:<blockquote>32-bit <i>int</i>, <i>long</i>, and <i>pointer</i> types and an <i>off_t</i> type using at least 64 bits</blockquote>to:<blockquote>32-bit <i>int</i>, <i>long</i>, and all pointer types and an <i>off_t</i> type using at least 64 bits</blockquote> ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2022-03-15 15:21 geoffclare New Issue 2022-03-15 15:21 geoffclare Name => Geoff Clare 2022-03-15 15:21 geoffclare Organization => The Open Group 2022-03-15 15:21 geoffclare Section => <unistd.h> 2022-03-15 15:21 geoffclare Page Number => 438, 439 2022-03-15 15:21 geoffclare Line Number => 14980, 14983, 14986, 14989, 14992, 14998, 15001 2022-03-15 15:21 geoffclare Interp Status => --- ======================================================================
