
This blog post is based on a pre-release version of the RAD Studio software. No feature is committed until the product’s GA release.
We have already covered some of the new Delphi language features coming in RAD Studio 13 Florence and some of the WebStencils and WebBroker extensions. Another area that’s going to see a very significant improvement is the C++Builder Modern Win64 compiler. This compiler, first shipped in 12.1, was the result of a significant modernization effort, and by the time we completed the project Clang had already moved considerably.
For the RAD Studio Florence 13.0 release, we are further updating the Modern Win64 C++ compiler from Clang 15 (the version shipped in 12.x) to Clang version 20, which is the most recently officially released version of Clang at the time I’m writing this blog post.
This is not just an internal upgrade. The new Clang-based compiler offers robust support for the C++23 language standard, while libc++ (the runtime library we use) offers a large number of C++ 23 features, with enhancements planned for future C++Builder releases to close the remaining gaps. You can read more about the current clang and libc++ support for specific C++ 23 features at:
As part of our modernization efforts for C++, new C++ projects now default to C++23 (when using the Win64 Modern platform). Developers looking to leverage specific C++ features no longer available in C++23, can easily switch to an older version in the C++ compiler settings menu. We plan to add more C++23 features as the Clang compiler and RTL we use mature.
While moving to Clang20, this release updates many of the other elements of the Modern Win64 C++ toolchain and some general core RAD Studio features alongside.
- The toolchain has been upgraded from LLVM v15 to LLVM v20. This update supports recent C++ standards and compiler optimizations.
- New C++ Standard Option: bcc64x now defaults to C++23, but users can choose to target C++20 or C++17 as needed.
- Shared runtime libraries (e.g., libc++.dll) are now suffixed with the BDS version number (e.g., libc++-370.dll). This prevents runtime conflicts when multiple versions of RAD Studio are installed.
- Numerous issues and inconsistencies present in LLVM v15 and previous toolchain versions have been addressed in this release.
We are also adopting version 20 of LLDB and making other changes to our core tools. Stay tuned for more information by the time we officially launch the new release. Embarcadero is keeping a significant focus on C++Builder and we hope C++ developers using RAD Studio will appreciate the result.
This blog post is based on a pre-release version of the RAD Studio software. No feature is committed until the product’s GA release.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
Congrats on this big leap forward!
Will the advertised modernizations be backported to XE12.x ?
Will there be a discount for customers with an active update subscription?
Sounds great. I just hope the code migration isn’t too much of a problem this time—going from bcc64 to bcc64x wasn’t easy. I’m curious about CMake support.
Can you plz add support for installing RAD Builder into windows docker containers.
As for now installer need user interaction to accept some agreement with ‘Y’
And that isn’t support inside windows docker container.
While I’m pleased that you’ll be updating to the most recent CLANG so we can take advantage of C++ > 17. I really hope that you’re fixing as many of those bugs as you can before releasing the new product. Also, please support your 3rd party vendors better! ICS cannot currently work in bcc64x because of missing features!
Anyway, don’t mean to just complain – I’m looking forward to the seeing what you’ve done with the new version, but if we can’t migrate b/c of inability to upgrade libraries, then all the improvements are moot!
Hi Ian, yes the upcoming release contains a substantial number of issues addressed and quality improvements, including what I call “quality of life” improvements – things that we tweaked or changed simply to make life better rather than to fix something. I totally agree, we should never focus on ‘just features’ and I promise you we don’t and will not.
With regard to third-party libraries: we actually provide our MVPs and Tech Partners with priority access to very early betas and a couple of different dedicated feedback and discussion channels to raise questions, tell us where something is a problem for them, and direct access to members of staff including myself, PMs, and members of R & D. We know that a big part of RAD Studio is the incredible array of components and libraries available and if they can’t work with any new version, it’s a problem for everyone, including us.
MVPs and Tech Partners get private briefings directly from core team members including PMs and myself – and they have very responsive lines of communication Many over the years have developed a close working relationship with us and us with them. I promise you it’s not empty words when I say we do as much as we can to help support them.
I neverwant Embarcadero to appear to be some kind of monolithic black box. We succeed by making others succeed – it’s as simple as that.
I’m not aware of any specific problems with ICS. I will reach out to François Piette (Overbyte) who maintains the library and find out how things are going for him and see that if there are any issues we address them with him if possible.
Thanks Ian, in this thread:
https://en.delphipraxis.net/topic/13612-94-on-c-builder-123/
Angus Robertson says that he can’t port ICS to Modern 64-bit because:
“Win64x is dead until RSB-503 is fixed, since C++ can not build packages that import other C++ packages. ”
Angus is really the one who seems to be maintaining the codebase more than Francois at this point, Maybe reach out to him? He doesn’t use C++ (only Delphi), so keeping C++ updated isn’t the easiest thing for him.
One other thing I’d love to see is better integration with Git/Github. Do you know if there are any plans for that?
I’m looking forward to that release.
Looking forward for new release. Unfortunately we are still using old bcc32 toolchain because it has significantly less bugs then various flavors of clang. Less features but productivity of work is better. If I cannot watch variable values, I am resorted to use printf. Old Borland C 30 years ago was better in this aspect then new C++ Builder 10,11… Quality of product would be better, if C++ Builder was used by Embarcadero internally to develop some commercial product. I have no doubt that for small demo projects and demonstration C++ Builder is OK, but when applied on large code bases and used for 8 hours each day various bugs begin to appear.
I am facing the same problems and 100% agree with that!