3 ms·
I'd be surprised and disappointed if those companies were using GCC to compile avionics code written in C++.
by wooster 14y ago
I'd be surprised and disappointed if those companies were using GCC to compile avionics code written in C++.
- 0x0 14y agoReally, why? What should they have been using - at least just a few years ago before LLVM became mainstream?
- frisco 14y agoProbably icc (Intel's C++ compiler), MSVC++, or one of IBM's (i.e., xlcc).
- 0x0 14y agoAre they really that much better? I remember hitting a bunch of incorrectly generated code for MSVC++ at least back in the 6.0 days. Like, the disassembly revealed dangerously incorrect code.
- frisco 14y agoI don't know much about MSVC++, but Intel's compilers are widely considered the most advanced C++ compilers, as long as you stick with Intel hardware. There was some controversy over it generating bad assembly when targeting AMD cores, but this is a non-issue for companies like Boeing and Raytheon, who will be using custom hardware anyway.
- 0x0 14y agoThe controversy was that it generated a CPUID check for "GenuineIntel" at runtime, and fell back to extremely poorly generated code (like, 386-level, almost 286-level style) for all other CPUs, as far as I remember. Borderline intentional sabotage against AMD, because they can obviously do better and I don't believe they are unaware of the capabilities of AMD CPUs. (edit: And they should probably be checking for features instead of vendor IDs anyways. It's like checking for Firefox in the user-agent and sending animated GIFs instead of WebGL if you're on Chrome) Here's some more info: http://en.gentoo-wiki.com/wiki/Intel_C%2B%2B_Compiler#Uncripple_icc_on_AMD_CPUs http://en.gentoo-wiki.com/wiki/Intel_C%2B%2B_Compiler#Uncrip...
- gillianseed 14y agoIntel is widely known to produce the most _optimized_ code for their own cpu range. That doesn't mean that they are the 'most advanced c++ compilers'. It was generating bad code for anything that wasn't Intel.
- gillianseed 14y agoICC is a proprietary compiler which not only focuses it's optimizations on their own cpu range but also have a history of deliberately generating subpar codepaths for non-Intel cpu's. MVSC is Windows only proprietary compiler and certainly hasn't had stellar C++ standard support although they are trying to rectify that with their recent 'Go native' push. I have had no experience with IBM's XLCC compilers though, maybe someone else has?
- wooster 14y agocwzwarich's comment above covers it pretty well.
- gillianseed 14y agoWhat else do you propose they should be using?