Еще одно несоответствие clang/gcc относительно использования ODR?

Почему этот код компилируется с GCC (4.9 и 5+), а не с clang (3.5-3.9)? void test(const int&) { } int main() { const int x = 42; auto f = []{ test(x); }; } У меня есть некоторое смутное представление о том, что расхождение связано с исполь ...

Принудительная оценка времени компиляции constexpr с clang

Чтобы принудительно выполнить оценку функции constexpr во время компиляции, я должен быть возможность присвоить его возвращаемое значение переменной constexpr. constexpr bool const_d_ref(const double& v) { return false; } int main() { conste ...

Лязг предупреждение о побочных эффектах выражения

Дан следующий исходный код: #include <memory> #include <typeinfo> struct Base { virtual ~Base(); }; struct Derived : Base { }; int main() { std::unique_ptr<Base> ptr_foo = std::make_unique<Derived>(); typeid(*ptr_f ...

Должно ли логическое значение быть усечено до true или false при назначении?

Я обнаружил разницу в значении, хранящемся в переменной bool (кстати, Visual-C++ и clang++), в том случае, когда сохраненное значение не является ни true, ни false (если оно было каким-то образом повреждено), и я не уверен, является ли это ошибкой Vi ...

запуск clang scan-build с g++ на linux

У меня есть следующий код: #include <iostream> #include <memory> using namespace std; class A { public: void foo() const; }; void A::foo() const {} std::unique_ptr<A> foo2() { std::unique_ptr<A> pa(new A( ...

В чем же разница? clang++ | clang-std=c++11

Я ошибочно использовал эту команду, которая не удалась на шаге соединения: $ clang -std=c++11 -stdlib=libc++ myInputFile.cpp Может ли кто-нибудь объяснить, почему clang предоставляет опцию языка C++ и почему он не связывается? Почему варианты -x c ...

неверный результат, когда std:: for each вызывается в функции шаблона

Тестовый код: template<typename T> void test() { T container { 1, 2, 3 }; std::for_each(container.begin(), container.end(), [](int v) { cout<<"1st for_each"<<endl; }); cout<<"xxxxxx"<<endl; ...

clang++ под QtCreator не может работать с c++11

OS: OS X 10.8.1 QtCreator: 2.6.2 Командная строка работает нормально, но QtCreator не может скомпилировать коды. #include <functional> #include <iostream> #include <memory> #include <string> #include <vector> int main ...

не найдено для архитектуры x86 64, macOS Sierra

Предыстория: Да, я знаю, что это очень легко с помощью варева! Уже тест и работает! Теперь я экспериментирую с macOS и Сьерра - , и установка файл httpd-2.4.25.смола.gz включение openssl. У меня нет опыта работы с Xcode ! $ openssl version Open ...

Что я здесь делаю не так? Или это ошибка clang++?

Следующий код не удается скомпилировать на моем Mac #include <iostream> #include <array> template <typename T, unsigned int N> using Vector = std::array<T, N>; template <typename T, unsigned int N> T dot(const Vector ...

поток macosx явно помечен как удаленный

Я создаю приложение с потоками C++11, но не могу заставить его работать с clang++ на MacOSX 10.9. Вот самый простой пример, который я могу найти, который вызывает проблемы: #include <thread> #include <iostream> class Functor { public ...