Из документации GCC для устаревших __sync
встроенных функций: Встроенные функции для доступа к атомарной памяти , есть цитата «необязательный список переменных, защищенных барьером памяти», описанный в Двоичный интерфейс приложения для Intel Itanium . Что это значит?
Все процедуры описаны в документации Intel к
возьмите «необязательный список переменных, защищенных барьером памяти» .
Не ясно, что подразумевается под этим; это может означать, что только
следующие переменные защищены, или это может означать, что эти
переменные должны быть дополнительно защищены. В настоящее время GCC игнорирует это
перечислить и защитить все переменные, которые доступны во всем мире. Если в
В будущем мы будем использовать этот список, пустой список будет продолжен
означать все глобально доступные переменные.
Встроенные __atomic
, которые делают __sync
устаревшими, этого не имеют, но каков был оригинальный дизайн, который встроенные __sync
унаследовали от необязательного списка?