LLVM Developers Ponder Using C++11 Features
While C++11 is an ISO standard and the Clang C/C++ compiler front-end to LLVM has been supporting C++11, developers behind the LLVM compiler infrastructure are still deciding whether to allow C++11 language features within their code-base.
Chris Lattner, Apple employee and founder of the LLVM project, has asked fellow developers about allowing C++11 language features in LLVM itself. With it being a "quiet and peaceful day", Lattner sparked a conversation about "how crazy would it be for us to start using basic C++'11 language features in LLVM." This would only be about C++11 language features but not any C++11 library features. Among the mentioned language features would be auto, rvalue-refs, and lambdas.
For allowing C++11 features to be used within the LLVM code itself, it would need to be decided what features would be allowed and ensuring that the important compilers to building LLVM/Clang can handle the new functionality: Microsoft Visual Studio on Windows, GCC on Linux, and Clang for FreeBSD/OSX.
Chris says, "On the one hand, this would greatly clean up code and is definitely the path forward. On the other hand, I don't want to substantially harm adoption or use of LLVM by adding another burden to building and developing it."
Eventually LLVM will definitely be using the C++11 language, but it's a matter of when it happens and the acceptance criteria. "If doing this would be a big problem for you, please speak up, and explain how/when the problem can be resolved. We will certainly adopt C++'11 features someday, so even if it isn't soon, it is good to have the discussion to find out what the issues are."
The current C++11 LLVM discussion can be found from this developer mailing list thread.
Chris Lattner, Apple employee and founder of the LLVM project, has asked fellow developers about allowing C++11 language features in LLVM itself. With it being a "quiet and peaceful day", Lattner sparked a conversation about "how crazy would it be for us to start using basic C++'11 language features in LLVM." This would only be about C++11 language features but not any C++11 library features. Among the mentioned language features would be auto, rvalue-refs, and lambdas.
For allowing C++11 features to be used within the LLVM code itself, it would need to be decided what features would be allowed and ensuring that the important compilers to building LLVM/Clang can handle the new functionality: Microsoft Visual Studio on Windows, GCC on Linux, and Clang for FreeBSD/OSX.
Chris says, "On the one hand, this would greatly clean up code and is definitely the path forward. On the other hand, I don't want to substantially harm adoption or use of LLVM by adding another burden to building and developing it."
Eventually LLVM will definitely be using the C++11 language, but it's a matter of when it happens and the acceptance criteria. "If doing this would be a big problem for you, please speak up, and explain how/when the problem can be resolved. We will certainly adopt C++'11 features someday, so even if it isn't soon, it is good to have the discussion to find out what the issues are."
The current C++11 LLVM discussion can be found from this developer mailing list thread.
6 Comments