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