[LLVMdev] Using C++'11 language features in LLVM itself

Pawel Wodnicki root at 32bitmicro.com
Thu Jan 10 11:11:18 PST 2013


On 1/10/2013 12:11 PM, dag at cray.com wrote:
> Pawel Wodnicki <root at 32bitmicro.com> writes:
> 
>>  Clang is good enough to bootstrap itself on practically
>> any platform I can think of or it can be cross-bootstrapped
>> if needed.
> 
> You're completely ignoring communities that compile code outside
> llvm+clang.  Any compiler chosen by that group has to be able to
> correctly compile hundres if not thousands of source code files.  It is
> not easy to find such a compiler and that makes it an arduous process to
> upgrade.  Of course upgrades are done, but they're done conservatively.
> 
>                             -David
> 
> 

 As you have pointed out the reality is that for a long time
there will be a lot of different C++ code to maintain and for
practical reasons it makes no sens to throw away time tested tools
just to use some modern C++ style.  At the same time I am not
convinced that it is worth the effort to introduce some C++11
features into LLVM and try to stay compatible with all these other
compilers.

 So if the goal is to be able to use *any* however broken C++ compiler
to build LLVM and stay compatible with the platform compiler
then perhaps we should approach it differently. Ideally source
translation in clang could be used to "lower" C++11 code to
either C++03 or even C++98, worst case just use CPP backend.

 I realize that Cfront approach does not have a good
track record but this could be a C++front translating
C++11 to older version of the C++ language.

Paweł




More information about the llvm-dev mailing list