Hacker News new | past | comments | ask | show | jobs | submit login

I'd be surprised and disappointed if those companies were using GCC to compile avionics code written in C++.



Really, why? What should they have been using - at least just a few years ago before LLVM became mainstream?


Probably icc (Intel's C++ compiler), MSVC++, or one of IBM's (i.e., xlcc).


ICC 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?


Are 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.


I 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.


The 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#Uncrip...


Intel 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.


cwzwarich's comment above covers it pretty well.


What else do you propose they should be using?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: