ここで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
ildjarnは、正しい引数-std=c++0x
または-std=c++11
を指摘します。その引数で発生するエラーは、使用しているlibstdc ++のバージョンがclang2.9でサポートされていないC++ 11または非標準のC++を使用していることが原因である可能性があります。