View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001799 | 1003.1(2024)/Issue8 | Base Definitions and Headers | public | 2024-01-23 22:25 | 2024-07-24 14:33 |
Reporter | steffen | Assigned To | |||
Priority | normal | Severity | Editorial | Type | Error |
Status | Interpretation Required | Resolution | Accepted As Marked | ||
Name | steffen | ||||
Organization | |||||
User Reference | |||||
Section | stdlib.h | ||||
Page Number | 370 | ||||
Line Number | 12951-12954 | ||||
Interp Status | Approved | ||||
Final Accepted Text | 0001799:0006648 | ||||
Summary | 0001799: endian.h unconditionally requires 64-bit integers | ||||
Description | Optional for stdint.h, but not endian.h. | ||||
Desired Action | At the very location, change 8462 uint64_t htobe64(uint64_t); 8463 uint64_t htole64(uint64_t); 8464 uint64_t be64toh(uint64_t); 8465 uint64_t le64toh(uint64_t); 8466 The <endian.h> header shall define the uint16_t, uint32_t, and uint64_t types as described in 8467 <stdint.h>. accordingly. (Ie refer to "Integer types" of stdint.h.) On page 661, lines 23136-23139, change 23136 uint64_t htobe64(uint64_t host_64bits); 23137 uint64_t htole64(uint64_t host_64bits); 23138 uint64_t be64toh(uint64_t big_endian_64bits); 23139 uint64_t le64toh(uint64_t little_endian_64bits); in the same way, and on line 23151, change For each of the sizes 16, 32 and 64 to For each of the sizes 16 and 32, and if supported 64 | ||||
Tags | tc1-2024 |
|
I forgot Page 1218, lines 41590 and 41593, where htobe64() and htole64() are unconditionally defined, Page 1328, line 44665, ditto le64toh(). Btw there is no be*toh() series in equal spirit to le*toh() on page 1328. |
|
Interpretation response ------------------------ The standard states that uint64_t is required to be defined by <endian.h> but is optional in <stdint.h>, and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor. Rationale: ------------- Since implementations need to support uint64_t in order to implement <endian.h>, there is no point in having it be optionally defined in <stdint.h>. For symmetry, int64_t should also be required in <stdint.h>. Notes to the Editor (not part of this interpretation): ------------------------------------------------------- On page 370 line 12947 section <stdint.h>, after: int32_tadd: int64_t On page 370 line 12950 section <stdint.h>, after: uint32_tadd: uint64_t Delete page 370 lines 12951-12965 |
|
Interpretation proposed: 21 June 2024 |
|
Interpretation approved: 24 July 2024 |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-01-23 22:25 | steffen | New Issue | |
2024-01-23 22:25 | steffen | Name | => steffen |
2024-01-23 22:25 | steffen | Section | => endian.h |
2024-01-23 22:25 | steffen | Page Number | => 240, 661 |
2024-01-23 22:25 | steffen | Line Number | => 8462-8467, 23136-23139, 23151 |
2024-01-23 22:30 | steffen | Note Added: 0006638 | |
2024-02-08 17:33 | geoffclare | Note Added: 0006648 | |
2024-02-08 17:34 | geoffclare | Final Accepted Text | => 0001799:0006648 |
2024-02-08 17:34 | geoffclare | Status | New => Resolution Proposed |
2024-02-08 17:34 | geoffclare | Resolution | Open => Accepted As Marked |
2024-02-08 17:35 | geoffclare | Tag Attached: tc1-2024 | |
2024-06-17 08:19 | geoffclare | Project | Issue 8 drafts => 1003.1(2024)/Issue8 |
2024-06-17 09:00 | geoffclare | Note Edited: 0006648 | |
2024-06-17 09:02 | geoffclare | Section | endian.h => stdlib.h |
2024-06-17 09:02 | geoffclare | Page Number | 240, 661 => 370 |
2024-06-17 09:02 | geoffclare | Line Number | 8462-8467, 23136-23139, 23151 => 12951-12954 |
2024-06-17 09:02 | geoffclare | Interp Status | => Pending |
2024-06-17 09:02 | geoffclare | Status | Resolution Proposed => Interpretation Required |
2024-06-21 11:47 | agadmin | Interp Status | Pending => Proposed |
2024-06-21 11:47 | agadmin | Note Added: 0006826 | |
2024-07-24 14:33 | agadmin | Interp Status | Proposed => Approved |
2024-07-24 14:33 | agadmin | Note Added: 0006838 | |
2024-07-25 03:58 | agadmin | Note Edited: 0006838 |