[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