21 Language support library [language.support]

21.6 Dynamic memory management [support.dynamic]

21.6.2 Storage allocation and deallocation [new.delete]

21.6.2.4 Data races [new.delete.dataraces]

Для целей определения существования рас данных, библиотек версий operator new, замены пользователей версий глобального operator new, стандартные функции библиотеки C aligned_­alloc, callocи malloc, библиотечные версии operator delete, замены пользователя версий operator delete, стандартной библиотечной функции C free, и стандартный C библиотечная функция realloc не должна вводить гонку данных ([res.on.data.races]). Вызов этих функций, которые выделяют или освобождают конкретную единицу памяти, должны происходить в едином общем порядке, и каждый такой вызов освобождения должен выполнять happen before следующее выделение (если таковое имеется) в этом порядке.