[omniORB] OmniORB4, compiling on HP-UX 11 using gcc 3.2

Duncan Grisby duncan@grisby.org
Fri Oct 4 11:23:00 2002


On Wednesday 25 September, Harri Pasanen wrote:

> By applying one patch to gcc 3.2, and patching a bit the acconfig.h produced 
> by configure*, the first indications are that  OmniORB4 can be made to work 
> on HP-UX 11.x

That's good.

> During compilation I do see bunch of warnings, and the following in
> particular caught my eye:
> 
>  ../../../../../src/lib/omniORB/orbcore/giopEndpoint.cc
> ../../../../../src/lib/omniORB/orbcore/giopEndpoint.cc: In member function 
>    `virtual void omni::omni_giopEndpoint_initialiser::attach()':
> ../../../../../src/lib/omniORB/orbcore/giopEndpoint.cc:391: warning: sorry: 
>    semantics of inline function static data `Boolean once' are wrong (you'll 
>    wind up with multiple copies)
> ../../../../../src/lib/omniORB/orbcore/giopEndpoint.cc:391: warning:   you can 
>    work around this by removing the initializer
> 
> Should the inline perhaps be removed?

That's odd. That function isn't declared inline. In fact, it's the
implementation of a virtual function, so the caller can't possibly
inline it. I assume the compiler is confused by the fact that the
function body is inside the class, which should be taken as a hint to
inline it. Strangely, gcc 3.2 on Linux doesn't emit that warning.

I don't think it's anything to worry about. The only circumstance it
could possibly cause a problem is if you destroy the ORB then
reinitialise it. Most people don't ever do that.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan@grisby.org     --
   -- http://www.grisby.org --