On Mon, Feb 29, 2016 at 10:38:16AM -0500, Jim Starkey wrote:
> I'm not at all sure that having "official" Firebird compilers is that 
> good of an idea.
> 
> The basic principle is that the code should work on a wide variety of 
> compilers.

You (and not only you) are mixing two very different questions:

  (1) what compiler should be used to build the official binaries
      provided for download on project web
  (2) what compilers should be the code compatible with

The discussion started with question (1) (and that only for one
platform) but some people started mixing in (2).

We can build our official windows binaries with whatever latest and
greatest MSVC version we choose and still have code compatible with
older versions.

If we decided to use c++11 or even c++14 specific language (or standard
library) features, that would be a completely different situation, of
course. But that's not what this discussion is about.

>             My experience has always been that if an unfamiliar compiler 
> produces errors, warning, or unexpected results, the probably has almost 
> always been with the code, not the compiler, usually a latent bug 
> prepared to expose itself later.

FB3 code already does not compile with gcc version present in some
actively maintained linux distributions. But it's compiler's fault so
while it means some extra work for me, I fully agree with the decision
not to work around this problem in the upstream codebase and let
distribution packagers add the workaround where needed.

>                                   With an official compiler, the 
> temptation will always be to write off an unexpected results from an 
> "unofficial" compiler as an aberration.

Perhaps I'm too optimistic but I believe the need to build the codebase
with different toolchains on several different platforms does prevent
this risk. After all, there were already examples of problems revealed
by new versions of gcc or clang.

> And no, it is perfectly reasonable for the client and the server to run 
> on different platforms, which makes the question whether the server and 
> client should use the same compiler meaningless.

A clarification is needed here, obviously. I wasn't talking about client
and server talking to each other via TCP. What I was replying to was the
idea of building the official client library and server binaries
intended to be used together on one system with two different compilers.

                                                          Michal Kubecek


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to