[omniORB] Re: 280pre2 osf alpha 4.0, dec cxx 5.7

Sai-Lai Lo S.Lo@uk.research.att.com
20 Sep 1999 11:38:38 +0100


Starting from 2.8.0pre2, I'm not putting workarounds in the master source
for older compilers that make the source much less readable. The DEC CXX 5.x 
is one such compiler.

Instead, the workaround for this compiler is available as a patch in the
source- <top>/patches/dec_CXX_5.6_patch. Try apply that patch and see if
it works with CXX 5.7.

Sai-Lai

>>>>> Peter Bauer writes:

> Hello,
> The code generated by the idl-compiler no longer compiles
> with dec cxx 5.7. It compiles ok with 6.0. The problem results
> from the following construct, which can be found in omniidl2-
> generated code and in some header-files:
> class Y {
> };
> class X {
>   X(Y *&_y) : y(_y) {}
>   inline operator Y*&() {return y;}
>                     ^ cxx 5.7 fails here
>   Y *& y;
> };

> The problem can be avoided by the following workaround:

> class Y {
> };
> class X {
>   X(Y *&_y) : y(_y) {}
>   typedef Y* Y1Ptr;
>   inline operator YPtr&() {return y;}
>   Y *& y;
> };

> I changed the header-files to use the above workaround, but then
> found that omniidl2 generates those constructs too, and gave
> up (for the present)

> Gruss PB


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND