Swift 3: atomic_compare_exchange_strong
Получение следующего предупреждения в Xcode 8 / Swift 3:
warning: 'OSAtomicCompareAndSwap32Barrier' was deprecated in OS X 10.12:
Use atomic_compare_exchange_strong() from <stdatomic.h> instead
Попытка использовать функцию atomic_compare_exchange_strong
в Swift код приводит ошибку компилятора:
error: use of unresolved identifier 'atomic_compare_exchange_strong'
Импорт Darwin
или же CoreFoundation
модули не решают проблему.
Какой модуль я должен импортировать, чтобы получить символ для atomic_compare_exchange_strong
?
Спасибо!
2 ответа
Я знаю, что это вопрос для Swift 3, но если кто-то наткнется на это, теперь есть пакет Swift Atomics ( представленный в октябре 2020 года ), который можно использовать для этой функции.
Я исправляю ту же проблему после ошибки, добавив:
cgo CFLAGS: -Wno-deprecated-declarations -Wno-c99-extensions
см.: https://github.com/cloudflare/cfssl/pull/721/commits/486691198796cb64b78ff47ef384d28cea1279e2