Отсутствует поддержка модуля Apple Clang 13 C++20C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Отсутствует поддержка модуля Apple Clang 13 C++20

Сообщение Anonymous »

Согласно официальной документации, Clang 13 поддерживает модули C++20 посредством использования параметра командной строки -fmodules.
Я не могу получить даже базовый модуль для компиляции с использованием Clang 13 (macOS Monterey) на компьютерах Mac на базе Intel или M1.
Предполагая следующее текстовое содержимое файла Module.cpp:

Код: Выделить всё

export module a;

export int f(int a, int b) {
return a + b;
}
Выполняем следующее:

Код: Выделить всё

$ clang++ --version
Apple clang version 13.0.0 (clang-1300.0.29.3)
Target: x86_64-apple-darwin21.1.0

$ clang++ -std=c++20 -stdlib=libc++ -fmodules -fbuiltin-module-map -c module.cpp
module.cpp:1:8: error: expected template
export module a;
^
module.cpp:1:8: error: unknown type name 'module'
module.cpp:3:8: error: expected template
export int f(int a, int b) {
^
3 errors generated.
Протестировано с идентичными результатами на чипе ARM M1:

Код: Выделить всё

$ clang++ --version
Apple clang version 13.0.0 (clang-1300.0.29.3)
Target: arm64-apple-darwin21.1.0
Есть ли другой способ заставить модули работать ИЛИ существует ли какое-то недокументированное ограничение модулей C++20 с Apple Clang 13?
Примечание: компиляция с помощью экспериментальный флаг -fmodules-ts работает.

Подробнее здесь: https://stackoverflow.com/questions/701 ... rt-missing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»