Recently Tim Anderson reported that Embarcadero was going to be using the Clang Compiler in the Rad Studio. When word broke about Embarcadero using LLVM with Delphi I was quite pleased. I had been playing around with LLVM learning its IR for quite some time and it is a great tool for most any development language. However, knowing that they have based there C++ work on the the Clang Compiler is very pleasing to me. Clang is a very nice C/C++/Objective-C Compiler.Benefits of the Clang Compiler Complete support for C++98 and nearly complete support for C++11 StandardsGood platform for building Source Level Tools The Default Compiler in XCode on Mac OS XCan compile FreeBSD and is the Default CompilerCan compile the Boost C++ LibrariesIt can be easily embedded into any application as it designed to be a libraryThe API is built with tooling and IDE integration in mind.Good Error MessagesBetter performance that GCCUse of the LLVM Core libraries (The Compiler back-end) Some of the Benefits of LLVM (I really don’t do it justice with my small list)Target-Independent Code Generator with production level support for the following processors. (Although not all features are supported on each processor)X86ARMSparcPowerPCHexagonMipsJIT Support with an optional command line tool (lli) to run LLVM bitcodeOptimizer has many Optimizations with a plug-able infrastructure to add additional optimization’sOptional Support for implementing Garbage CollectionGood set of ToolsIt well documented.All of this makes me wonder how much of other things from LLVM that they may end up using all or part of as LLDB, KLEE, or VMKitNow which features of clang and llvm will be exposed in the Embarcadero tool chain is not know yet. But it’s nice to know that there is a good foundation they are building on. I guess it might be time to sign up for Priority Preview Access to see this in action.
Embarcadero: Firemonkey OOP
Embarcadero: Firemonkey C++