Their supported standards list 'libc++' [1] which implies LLVM and potentially Clang. I could not find info online.
"IAR Embedded Workbench C++ is dialectal and contains some features not part of standard C++." [2] Their extensions seem to be to relax some awkward syntax, and for embedded systems support such as memory positioning (?)
Qt is huge in the embedded space, such as automotive, where I see IAR is as well. Makes sense as an acquisition. I used to work as the C++Builder product manager, which has custom C++ language extensions, and I always personally (not a statement from my prior employer in any way) wondered if Qt might someday look to that toolchain too -- it does not target embedded computing, but it has excellent expertise in custom compiler changes including extensions to address exactly the same problems (as I understand) that Moc tries to solve. In general especially with the state of the C++ committee, and Qt dealing with some custom handling, I would expect owning a compiler toolchain with a willingness to customise the language to be highly beneficial for them.
[1] https://www.iar.com/embedded-development-tools/iar-embedded-...
[2] https://en.wikipedia.org/wiki/IAR_Systems#IAR_Embedded_Workb...
why would Qt want to customize a compiler when they still need to support llvm/gcc/msvc?
They routinely smoked GCC and Clang, and sometimes ARMs tools on a variety of tasks.
I'm not sure I see the advantage on Qt owning a compiler though - one of Qt's strengths is portability.
reflection could replace moc, (likely c++29 needed) but if compilers don't implement that part of reflection qt can't use it. If qt can get compilers updated that helps them.
So I agree with you, Qt tends to be a lot cleaner than standard C++ (or even C++ with Boost). I highly value consistency in a codebase, and Qt really makes that possible.
There were many hacks, like filling the stack with sentinels to detect it at run-time. The linker script was horrible. Rewrote everything from scratch. The resulting code was many KB too large for the available space, it would have needed to slim down the stdlib. Even with the much better optimizations and LTO it was still too big.
Nice for that time, but essentially unusable. The company needed 10 years for that code, my plan is to rewrite it in 2 weeks.
joezydeco•2h ago
rrgok•2h ago
Could you kindly ELI5 me what is wrong with QT licensing model?
joezydeco•2h ago
CoastalCoder•1h ago
markfeathers•2h ago
https://www.qt.io/qt-licensing
https://fossa.com/blog/open-source-software-licenses-101-lgp...
>And everytime I end up confused about it.
I think this is the point. If you're making a real application you may pay for the licensing to avoid the uncertainty/risk.
michaelsbradley•2h ago
https://doc.qt.io/qt-6/licensing.html
Over the years it has been noted by many that Qt’s wording and warnings about the LGPL amount to spreading FUD or outright misinformation in what seems like an attempt to scare managers and C-suite folks into buying commercial licenses “just in case”.
bradfa•1h ago
In every major Qt release, there's a handful of super useful but kind of niche widgets which aren't released under open source licenses, presumably as a sales tactic as buying licenses gets you these widgets and sometimes that is cheaper than building them yourself, but unless you need these, you probably don't care about this.
Although my experience attempting to buy licenses from Qt is about a decade out of date now, the way it roughly worked was you paid a per-seat-per-year fee to get a developer license or build-machine license. Then you bought bundles of deployment licenses, and the bigger the bundle then the lower the cost per license. If you are buying a bundle of a few thousand devices then you pay more per license than if you're buying a bundle of a few million. Either way, it is a significant chunk of cash you have to front to get your block of licenses and normally embedded projects are EXTREMELY sensitive to per-unit costs.
seba_dos1•1h ago
bobmcnamara•1h ago
This right here! We customers and users alike are often confused by QTs piecemeal licensing model.
freedomben•1h ago
linhns•1h ago