Reputation:
How can I use the latest C++ 11 features in Clang? What (sub)set of features is supported?
Upvotes: 78
Views: 88276
Reputation: 38
If you're using Clang LSP, write your arguments in a file on the same directory called compile_flags.txt
or compile_flags.json
Upvotes: 0
Reputation: 25386
You will need clang 3.3 to use the most relevant feature set from C++ 11. Read C++ Support in Clang for the complete list of up-to-date supported features. Clang 3.3 is claimed to be C++11 feature complete.
Clang's command line is gcc-compatible so you have to enable C++11 support via the followinf command-line switch
-std=c++11
There is also a bunch of post-C++11 features (like decltype(auto), member initializers and aggregates) that are supported by Clang 3.3. Use this command line switch to enable them
-std=c++1y
Upvotes: 97
Reputation: 69672
Here is the always up to date list of features supported by clang:
http://clang.llvm.org/cxx_status.html
To activate C++11, you have to add -std=c++11 in your clang calls, like for gcc. If you use an IDE that is clang-aware or gcc-aware, there is a specific project settings option available to do that.
Upvotes: 18