View Issue Details

IDProjectCategoryView StatusLast Update
00019611003.1(2024)/Issue8Base Definitions and Headerspublic2025-11-27 15:20
Reporterlanodan Assigned To 
PrioritynormalSeverityEditorialTypeOmission
Status NewResolutionOpen 
NameHaelwenn Monnier
OrganizationThe Open Group
User Reference
SectionXBD, Headers, <assert.h>
Page Number226
Line Number7977-7987
Interp Status
Final Accepted Text
Summary0001961: assert.h lacks static_assert macro
DescriptionC11 introduced the static_assert() macro, which C17 kept (and C23 transformed into a keyword).
Desired ActionAfter line 7988:

The macro static_assert() expands to _Static_assert
Tagstc1-2024

Relationships

related to 0001302 Closed 1003.1(2016/18)/Issue7+TC2 Alignment with C17 

Activities

geoffclare

2025-11-27 15:18

manager   bugnote:0007330

Last edited: 2025-11-27 15:20

Suggested Interpretation response
------------------------
The standard clearly states "This volume of POSIX.1-2024 defers to the ISO C standard" on the <assert.h> page (and elsewhere), and conforming implementations
must conform to this.

Rationale:
-------------
Omission of the static_assert macro was an oversight in Austin Group Defect 1302. However, because the standard defers to C17 on the contents of the <assert.h> header, conforming implementations are required to define static_assert as described in C17.

Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
After line 7988 add a new paragraph:
The <assert.h> header shall define the static_assert macro which shall expand to _Static_assert.

Issue History

Date Modified Username Field Change
2025-11-26 07:59 lanodan New Issue
2025-11-26 07:59 lanodan Tag Attached: tc1-2024
2025-11-27 15:18 geoffclare Note Added: 0007330
2025-11-27 15:19 geoffclare Relationship added related to 0001302
2025-11-27 15:20 geoffclare Note Edited: 0007330