[omniORB] OmniOrb and C++17 support

Daniel Krügler daniel.kruegler at gmail.com
Fri Mar 27 07:34:57 GMT 2020


Am Di., 24. März 2020 um 23:19 Uhr schrieb Duncan Grisby <duncan at grisby.org>:
>
> On Thu, 2020-03-12 at 16:46 +0100, Daniel Krügler wrote:
> [...]
> > I would really appreciate this course of action. In particular, if
> > you make the existing dynamic exception specifications conditionally
> > existing based on C++17 I would argue that this could not cause an
> > ABI breakage.
>
> I have done that. The current code on the 4_2 branch now detects C++17
> (with #if __cplusplus >= 201703L) and suppresses the throw
> specifications in that case. You can get it from subversion or from the
> snapshot at
>
> https://omniorb.net/snapshots/omniORB-4.2-latest.tar.gz

We were a bit confused that library versions still had 423 in their
names (Such as "cos423_vc11_rt.dll") and that the version numbers were
still referring to 4.2.3:

./src/cmake-modules/FindOmniorb.config:set(BDAL_OMNIORB_VERSION "4.2.3")
./target/src/omniORB-4.2.4/mk/version.mk:OMNIORB_VERSION = 4.2.3
./target/src/omniORB-4.2.4/mk/version.mk:OMNIORB_VERSION_HEX = 0x040203F1
./target/bin/omniorb/cmake-modules/FindOmniorb.config:set(BDAL_OMNIORB_VERSION
"4.2.3")

and that the top-level directory in the compressed file had the name
"omniORB" instead of "omniORB-4.2.4", which our build environment
expects, but we adjusted those things and hope that the final release
will fix them ;-)

> At some point soon, I will release 4.2.4 with that and a few other
> fixes. I'd appreciate it if you could test the change to confirm that
> it works for you with your compiler. (Which compiler are you using, by
> the way?)

We successfully tested your code by building the library for vc141 (VS
2017) in C++17 mode for 64 and 32 bit, for vc110 (VS 2012) for 64 and
32 bit without specific C++ version (because it doesn't understand
C++17, but we wanted to ensure that it still builds successfully), and
additionally using gcc-9 (Ubuntu 9.1.0) in C++17 mode for 64-bit
alone. We verified that the C++17 mode was really active in those
cases where we wanted them to be set and got no compile problems.

I think that's all we can realize now with this pre-release state of
OmniOrb 4.2.4 but we are very happy with this and are eagerly awaiting
the real release product!

Thanks again,

- Daniel



More information about the omniORB-list mailing list