[omniORB] OmniOrb and C++17 support
Duncan Grisby
duncan at grisby.org
Thu Mar 12 10:06:44 GMT 2020
On Tue, 2020-03-10 at 16:39 +0100, Daniel Krügler via omniORB-list
wrote:
> Beginning with C++17, dynamic exception specifications have been
> removed from the C++ language. This means it is not possible to use
> OmniOrb in a program that us build using a C++17 compiler.
>
> Would it be possible to provide a 4.2.4 release version of OmniOrb
> that can be compiled against C++17?
The only place throw specifications are used is in a few functions
related to options handling. They are not used in any IDL compiler
output or in the main core CORBA code.
The only reason I haven't removed them from the 4.2.x branch is that it
could conceivably break binary compatibility with some compilers, where
clients compiled against a version with the throw specifications may
fail to call code compiled without them. None of the compilers I have
tried actually generate different code, but I don't think there is
anything to guarantee it.
You can fairly easily remove the throw specifications. It probably
makes sense to #ifdef the throw specifications away for C++17
compilers. I'll look into that.
> Assuming that the current 4.3.x development branch does already
> support C++17, when is the first 4.3 release planned?
It does indeed work with C++17 compilers. The branch is stable and in
production use, but I haven't had time to do the various surrounding
things for a release -- builds and announcements and things.
Duncan.
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
More information about the omniORB-list
mailing list