On Thu, Dec 06, 2018 at 03:34:59PM -0500, Jonathan Kew wrote:
While I sympathize with the concern that "supporting more than one compiler is a maintenance burden", this still leaves me feeling a little uneasy. Ensuring that our code builds successfully with multiple compilers is a useful way to keep us from becoming dependent on quirks of a particular tool, and different compilers may provide different (valid, useful) diagnostics that we should not simply ignore.

Our C/C++ code should (IMO) be standard and portable enough to build with any modern, mainstream C++ compiler; writing code for a clang monoculture feels wrong, a bit like building websites for a Blink monoculture...

As it stands, we need to remain compatible with at least GCC and Clang, because some of our static analysis code still depends on GCC plugins. But supporting MSVC is a much larger burden. It tends to be the slowest compiler to adopt major new features, and the fact that it's closed source means that we're completely dependent on Microsoft to fix bugs which are trivial for us to fix in our open source tool chains.

I'm all for not chaining ourselves so tightly to Clang, though.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to