1.2 KiB
1.2 KiB
[new.delete.dataraces]
17 Language support library [support]
17.6 Dynamic memory management [support.dynamic]
17.6.3 Storage allocation and deallocation [new.delete]
17.6.3.5 Data races [new.delete.dataraces]
For purposes of determining the existence of data races, the library versions of operator new, user replacement versions of global operator new, the C standard library functionsaligned_alloc, calloc, and malloc, the library versions of operator delete, user replacement versions of operator delete, the C standard library functionfree, and the C standard library function realloc shall not introduce a data race ([res.on.data.races]).
Calls to these functions that allocate or deallocate a particular unit of storage shall occur in a single total order, and each such deallocation call shall happen before the next allocation (if any) in this order.