Результаты поиска по запросу "clang"

1 ответ

 из динамического местоположения :)!

отрим этот код: // foo.cxx int last; int next() { return ++last; } int index(int scale) { return next() << scale; }При компиляции с gcc 7.2: $ g++ -std=c++11 -O3 -fPICЭто испускает: next(): movq last@GOTPCREL(%rip), %rdx movl (%rdx), %eax addl ...

1 ответ

 собственно, что означает, что он потенциально более тесно связан с компилятором.

ем эту простую функцию, которая увеличивает целое число под блокировкой, реализованнойstd::mutex: #include <mutex> std::mutex m; void inc(int& i) { std::unique_lock<std::mutex> lock(m); i++; }Я ожидал бы, что это (после вставки) будет ...

3 ответа

 аргумент в этом случае.

емые коллеги по C ++, после того, как я некоторое время использовал набор инструментов Visual Studio для сборки на окнах, я решил попробовать Clang 5. Я установил двоичные файлы LLVM 5.0.0, среду сборки Ninja, VS 2017 Tools и CMake 3.9.3. ...

ТОП публикаций

1 ответ

Что касается другой части вопроса. Да, безусловно, стоит отправлять отчеты об ошибках. Соответствие стандарту (или, по крайней мере, дальнейшая диагностика) должно поощряться IMO.

но, после обновления библиотеки до Clang 5.x, я заметил ошибку в моем коде, который был скомпилирован ранее на Clang 4.x, GCC 5.x-6.x и MSVC 2015 и 2017. #include <iostream> #include <typeinfo> #include <vector> int main() { using a = typename ...

3 ответа

Как использовать CMAKE_EXPORT_COMPILE_COMMANDS?

Я пытался использоватьclang-modernize с участиемCMAKE_EXPORT_COMPILE_COMMANDS как рекомендуется в помощи этого инструмента. С этой опцией cmake генерирует файл JSON, содержащий информацию о компиляции, такую как include-пути (смотрите ...

2 ответа

 если вы хотите иметь точно такую ​​же версию LLVM.

сутьупоминает, что xcode 9 опубликован с «Apple LLVM версии 9.0.0 (clang-900.0.38)», но последняя версия llvm в [https://gist.github.com/yamaya/2924292]llvm.orgLLVM 5.0.0. [http://releases.llvm.org/]Какая связь между ними? Обзор компилятора LLVM

1 ответ

Спецификация ABI для некоторых случаев передачи аргументов с участием конструкторов перемещения была неясной, и когда они были прояснены, clang изменился, чтобы следовать ABI. Это, наверное, один из тех случаев.

отрим этот код: #include <utility> #include <tuple> std::pair<int, int> f1() { return std::make_pair(0x111, 0x222); } std::tuple<int, int> f2() { return std::make_tuple(0x111, 0x222); }Clang 3 и 4 генерируют одинаковый код для обоих на ...

3 ответа

Не стесняйтесь добровольно и отправить обновленную формулировку в комитет ...

ал с Godbolt's CompilerExplorer. Я хотел посмотреть, насколько хороши определенные оптимизации. Мой минимальный рабочий пример: #include <vector> int foo() { std::vector<int> v {1, 2, 3, 4, 5}; return v[4]; } Сгенерированный ассемблер (clang ...

3 ответа

как использовать #pragma clang диагностика

я знаю это#pragma clang диагностикаможет использоваться для игнорирования некоторых предупреждений, генерируемых clang. Но я не знаю, как правильно это использовать. Например, для предупреждения о неиспользуемой переменной мы можем ...

1 ответ

Используя @import от clang?

Я хотел бы написать код с Sublime и clang из терминала. Как использовать синтаксис нового модуля (@import) с clang? Я пытался добавить-fmodules флаг, но это не сработало. С включенными модулями можно также опуститьФонд флаг? clang -fmodules ...