Некоторые реализации могут быть в состоянии гарантировать атомарное поведение для структур, отвечающих определенным критериям.Я не знаю, существовали ли какие-либо реализации, которые делали это на самом деле до публикации Стандарта C11, но это, безусловно, казалось бы правдоподобным.Если бы реализация эффективно поддерживала такие структуры, для стандарта было бы довольно досадно требовать, чтобы они рассматривались как нарушение ограничения.
Было бы полезно, если бы стандарт предписывал или, по крайней мере, предлагал, чтобыреализации рассматривают как нарушения ограничений любые попытки определить атомарные структуры , для которых они не могут предложить надлежащую семантику , но по какой-то причине авторы Стандарта кажутся крайне неохотными для признания категории программ, которые были бы отвергнуты некоторыми реализациямино определили поведение в реализациях, которые не отвергают его.Хороший стандарт должен стремиться максимизировать количество полезных программ, попадающих в эту категорию, но вместо этого стандарт стремится рассматривать конструкции, которые будут поддерживать некоторые реализации, а другие - не как неопределенное поведение, позволяя реализациям поддерживать их или нет на досуге., но не предлагает никакого безопасного способа определить, поддерживаются ли они.