Anonymous | Login | 2024-04-19 23:48 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0000566 | [1003.1(2008)/Issue 7] Base Definitions and Headers | Editorial | Error | 2012-05-18 16:13 | 2019-06-10 08:55 | ||
Reporter | eblake | View Status | public | ||||
Assigned To | ajosey | ||||||
Priority | normal | Resolution | Accepted As Marked | ||||
Status | Closed | ||||||
Name | Eric Blake | ||||||
Organization | Red Hat | ||||||
User Reference | ebb.unistd | ||||||
Section | <unistd.h> | ||||||
Page Number | 443 | ||||||
Line Number | 15037 | ||||||
Interp Status | --- | ||||||
Final Accepted Text | See Note: 0001243 | ||||||
Summary | 0000566: unistd.h and inclusion of other headers | ||||||
Description |
The standard states that <unistd.h> must define intptr_t as in <inttypes.h>, but in reality, <inttypes.h> defers to a mandatory inclusion of <stdint.h> before intptr_t is defined. Furthermore, the standard is silent on whether <unistd.h> may pollute the namespace with all other definitions from headers, where most other headers are careful to state that the implicit inclusion of other headers is permitted but not required. I found this issue when debugging a program that had been expecting <unistd.h> to provide uint32_t; it turns out that glibc 2.14 exposes all of <stdint.h> from <unistd.h>, but that glibc 2.11 did not; making it explicit that the standard permits both behaviors would make it clear that the bug was in the program for not explicitly including enough headers. |
||||||
Desired Action |
At line 15037, change "intptr_t type as described in <inttypes.h>." to "intptr_t type as described in <stdint.h>." After line 15128, add a new paragraph: Inclusion of the <unistd.h> header may make visible all symbols from the headers <stddef.h>, <stdint.h>, <stdio.h>, and <sys/types.h>. |
||||||
Tags | tc2-2008 | ||||||
Attached Files | |||||||
|
Issue History | |||
Date Modified | Username | Field | Change |
2012-05-18 16:13 | eblake | New Issue | |
2012-05-18 16:13 | eblake | Status | New => Under Review |
2012-05-18 16:13 | eblake | Assigned To | => ajosey |
2012-05-18 16:13 | eblake | Name | => Eric Blake |
2012-05-18 16:13 | eblake | Organization | => Red Hat |
2012-05-18 16:13 | eblake | User Reference | => ebb.unistd |
2012-05-18 16:13 | eblake | Section | => <unistd.h> |
2012-05-18 16:13 | eblake | Page Number | => 443 |
2012-05-18 16:13 | eblake | Line Number | => 15037 |
2012-05-18 16:13 | eblake | Interp Status | => --- |
2012-05-21 10:43 | geoffclare | Note Added: 0001241 | |
2012-05-31 15:16 | nick | Note Added: 0001243 | |
2012-05-31 15:16 | nick | Status | Under Review => Resolved |
2012-05-31 15:16 | nick | Resolution | Open => Accepted As Marked |
2012-05-31 15:17 | nick | Final Accepted Text | => See Note: 0001243 |
2012-05-31 15:17 | nick | Tag Attached: tc2-2008 | |
2019-06-10 08:55 | agadmin | Status | Resolved => Closed |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |