clang/llvm : implementation language : c++ : which version?


i know from; that the implementation language for llvm is c++.

is there any way to find out which version of c++?

i had asked a similar question a while back, and there were some notes which said that the version used would be jumped to c++11 soon.

has that happened?
i am just hoping that it is '98 with '03 extensions.



C++ 11 is required now.

okay, thanks for that note yaron.
would that mean "anyone wishing to understand clang/llvm has to know c++11"?

It depends at what level you want to understand LLVM. Ranged for loops are everywhere and very easy to understand. lambdas are rarer and somewhat more difficult.
Regardless LLVM, C++ 11 is much improved, nicer C++ and worth learning.

More or less, although LLVM has always aimed to use a 'tasteful subset' of C++. There are a few places where some of the less tasteful bits of C++ are used, but they're generally hidden behind clean interfaces so you probably don't need to look at them.

LLVM does make fairly heavy use of auto and range-based for loops and bits of the C++11 standard library (in particular, std::owning_ptr). I think move constructors are still fairly rare, but they're gradually creeping in.


i am self-training for deeper levels of computer science.
while i've been a programmer for 23 years, mostly worked at
'api' level, hence, failed to attain technological maturity.

working to rectify that, figured the best way would be to look
at the source of a compiler because i believe (might be wrong)
it comprises of the entire knowledge from the 'cs' spectrum.

thanks for your mail, will put in efforts to work through the
newer (c++11/14) via mr. stroustrup's books before i approach