[omniORB] CORBA::Double corrupted when compiling -O2 and -O3

Stuart Caunt caunt at ill.fr
Thu Feb 15 09:08:49 GMT 2007


Hi,

I've recently upgraded my linux system and have noticed that values passed
as CORBA::Double in our CORBA application are not passed correctly - the
values end up being very close to zero, eg 1.213342e-41 for all values
(even if they were originally 1.2, 3.4, 10.0, etc).

We've traced the root of the problem to the optimisation flag. Originally
it was -O3 but even at -O2 the problem remains. -O1 removes the problem. I
understand that -O3 can have certain effects on the reliability of
floating point calculations but I'm more surprised at the -O2 optimisation
problem.

I'm running on Debian Etch with OmniORB 4.0.6 and g++ 4.1.2. Has anyone
else had similar problems?

Many thanks,
Stuart




More information about the omniORB-list mailing list