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