4 ms·
The hardest thing about compilers is that they are expected to be nearly perfect. A typical user spends hours every day actively using the compiler and if they
by TheCoelacanth 6y ago
The hardest thing about compilers is that they are expected to be nearly perfect.
A typical user spends hours every day actively using the compiler and if they manage to observe even one bug every five years, that's probably considered a low quality compiler.
- vnorilo 6y agoIn that case clang, gcc and msvc would be considered low quality conpilers. I get the sentiment: compiler bugs have a cascading effect, especially miscompiles (looking at you, clang). Crashed while compiling (looking at you, msvc) are also bad, but less serious. In any case, you'd be surprised how many bugs a useful compiler may have. For the record, I consider the three compilers I mentioned, having observed all sorts of bugs in then almost yearly, very high quality compilers. We can mostly just work together to add to the mountain of regression tests that safeguard our open source compilers. Maybe formal verification will some day produce bug-free toolchains, but we are not there yet for the production grade optimizing compiler.