Clang ++ C ++ 11 вызов - PullRequest
       3

Clang ++ C ++ 11 вызов

21 голосов
/ 29 ноября 2011

Хотя здесь есть некоторые вопросы, касающиеся поддержки Clang в C ++ 11, я не могу заставить clang++ съесть мой код C ++ 11.

$ clang++ --version
clang version 2.9 (tags/RELEASE_29/final)
Target: x86_64-pc-linux-gnu
Thread model: posix

Согласно странице статуса clang C ++ 11 у меня должна быть хотя бы частичная поддержка (например, прямоугольные скобки), но она отказывается от всех протестированных мной функций.

Есть липереключиться на команду clang использовать C ++ 11?


Пример теста:

$ clang++ -stdlib=libstdc++ cpp11.cpp 
cpp11.cpp:16:33: error: a space is required between consecutive right angle brackets (use '> >')
  std::vector<std::pair<int,char>> xs;
                                ^~
                                > >
cpp11.cpp:18:8: error: C++ requires a type specifier for all declarations
  auto y = x;
  ~~~~ ^
2 errors generated

1 Ответ

21 голосов
/ 29 ноября 2011

ildjarn указывает на правильный аргумент, -std=c++0x или -std=c++11. Ошибки, которые вы получаете с этим аргументом, могут быть вызваны тем, что используемая вами версия libstdc ++ использует какой-то C ++ 11 или нестандартный C ++, который не поддерживает clang 2.9.

...