[omniORB] Patches for AIX XLC 5.0
Gary D. Duzan
gdd0@gte.com
Tue, 20 Feb 2001 10:52:49 -0500
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1868.982684336.1@gte.com>
In Message <9AF728C3B988D411B3F000805F0DD5C3079338@swserv3.lisec.com> ,
Andreas Eglseer - Entwicklung <andreas.eglseer@lisec.com> wrote:
=>Hi OmniORBers
=>
=>I wanted to compile omniORB on our AIX 4.3 with xlC 5.0, to do this I must
=>apply a patch, wich resides in the omni/patches
=>directory.
=>I recognized, that this patch isn`t up to date ( This patch was made before
=>omniORB could handle LongLong ).
=>
=>Is there somewere an updated patch ?
Nowhere official that I know of, but I'll attach the changes I
made when building it here recently. Most of the changes should
be generally applicable and platform neutral except for a few.
One change I made but won't include is one to change the path
to Python in several dir.mk files. There should really be a
config variable like PYTHON_LOCAL_PREFIX for locating the Python lib
installation. The change to src/lib/omniORB2/dynamic/sharedlib/dir.mk
to set the path to makeC++SharedLib_r should really be a config
variable, too, as the included patch will break with earlier xlC
compilers. I don't recall why I had to comment out the include of
iostream.h in CORBA_sysdep.h, but it was causing some sort of
problem. The rest should be analagous to the existing patch.
Gary Duzan
Verizon Laboratories
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1868.982684336.2@gte.com>
Content-Description: xlc5.diff
Index: include/omniORB3/CORBA_sysdep.h
===================================================================
RCS file: /cvsroot/omni/include/omniORB3/CORBA_sysdep.h,v
retrieving revision 1.1.2.20
diff -c -r1.1.2.20 CORBA_sysdep.h
*** CORBA_sysdep.h 2000/12/04 13:46:43 1.1.2.20
--- CORBA_sysdep.h 2001/02/20 15:36:50
***************
*** 771,777 ****
#ifndef USE_omniORB_logStream
// New stubs use omniORB::logStream. Old stubs still need cerr. Include
// the necessary iostream header if that is the case.
! #include <iostream.h>
#endif
// #define ENABLE_CLIENT_IR_SUPPORT
--- 771,777 ----
#ifndef USE_omniORB_logStream
// New stubs use omniORB::logStream. Old stubs still need cerr. Include
// the necessary iostream header if that is the case.
! //#include <iostream.h>
#endif
// #define ENABLE_CLIENT_IR_SUPPORT
Index: include/omniORB3/bufferedStream.h
===================================================================
RCS file: /cvsroot/omni/include/omniORB3/bufferedStream.h,v
retrieving revision 1.1.2.3
diff -c -r1.1.2.3 bufferedStream.h
*** bufferedStream.h 2000/08/07 15:34:33 1.1.2.3
--- bufferedStream.h 2001/02/20 15:36:50
***************
*** 175,344 ****
size_t Bufsize=0);
~NetBufferedStream();
! friend inline void operator>>= (_CORBA_Char a, NetBufferedStream& s) {
! MARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
! }
!
! friend inline void operator<<= (_CORBA_Char& a, NetBufferedStream& s) {
! UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
! }
#ifdef HAS_Cplusplus_Bool
-
- friend inline void operator>>= (_CORBA_Boolean b, NetBufferedStream& s) {
- _CORBA_Char c = b ? 1 : 0;
- MARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
- }
! friend inline void operator<<= (_CORBA_Boolean& b, NetBufferedStream& s) {
! _CORBA_Char c;
! UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
! b = c ? true : false;
! }
#endif
-
- friend inline void operator>>= (_CORBA_Short a, NetBufferedStream& s) {
- MARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
- }
-
- friend inline void operator<<= (_CORBA_Short& a, NetBufferedStream& s) {
- if (s.RdMessageByteOrder() != omni::myByteOrder) {
- _CORBA_Short t;
- UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,t);
- a = Swap16(t);
- }
- else {
- UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
- }
- return;
- }
-
- friend inline void operator>>= (_CORBA_UShort a, NetBufferedStream& s) {
- MARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
- }
-
- friend inline void operator<<= (_CORBA_UShort& a, NetBufferedStream& s) {
- if (s.RdMessageByteOrder() != omni::myByteOrder) {
- _CORBA_UShort t;
- UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,t);
- a = Swap16(t);
- }
- else {
- UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
- }
- return;
- }
!
! friend inline void operator>>= (_CORBA_Long a, NetBufferedStream& s) {
! MARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
! }
! friend inline void operator<<= (_CORBA_Long& a, NetBufferedStream& s) {
! if (s.RdMessageByteOrder() != omni::myByteOrder) {
! _CORBA_Long t;
! UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,t);
! a = Swap32(t);
! }
! else {
! UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
! }
! return;
! }
! friend inline void operator>>= (_CORBA_ULong a, NetBufferedStream& s) {
! MARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
! }
! friend inline void operator<<= (_CORBA_ULong& a, NetBufferedStream& s) {
! if (s.RdMessageByteOrder() != omni::myByteOrder) {
! _CORBA_ULong t;
! UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,t);
! a = Swap32(t);
! }
! else {
! UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
! }
! return;
! }
#ifdef HAS_LongLong
-
- friend inline void operator>>= (_CORBA_LongLong a, NetBufferedStream& s) {
- MARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
- }
-
- friend inline void operator<<= (_CORBA_LongLong& a, NetBufferedStream& s) {
- if (s.RdMessageByteOrder() != omni::myByteOrder) {
- _CORBA_LongLong t;
- UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,t);
- a = Swap64(t);
- }
- else {
- UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
- }
- return;
- }
! friend inline void operator>>= (_CORBA_ULongLong a, NetBufferedStream& s) {
! MARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
! }
! friend inline void operator<<= (_CORBA_ULongLong& a, NetBufferedStream& s) {
! if (s.RdMessageByteOrder() != omni::myByteOrder) {
! _CORBA_ULongLong t;
! UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,t);
! a = Swap64(t);
! }
! else {
! UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
! }
! return;
! }
#endif
#if !defined(NO_FLOAT)
-
- friend inline void operator>>= (_CORBA_Float a, NetBufferedStream& s) {
- MARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
- }
-
- friend inline void operator<<= (_CORBA_Float& a, NetBufferedStream& s) {
- if (s.RdMessageByteOrder() != omni::myByteOrder) {
- _CORBA_Float t;
- UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,t);
- _CORBA_ULong tl1 = *((_CORBA_ULong *)&t);
- _CORBA_ULong tl2 = Swap32(tl1);
- a = *((_CORBA_Float *) &tl2);
- }
- else {
- UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
- }
- return;
- }
! friend inline void operator>>= (_CORBA_Double a, NetBufferedStream& s) {
! MARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
! }
! friend inline void operator<<= (_CORBA_Double& a, NetBufferedStream& s) {
! if (s.RdMessageByteOrder() != omni::myByteOrder) {
! _CORBA_Double t;
! UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,t);
! _CORBA_ULong tl1 = ((_CORBA_ULong *)&t)[1];
! _CORBA_ULong tl2 = Swap32(tl1);
! ((_CORBA_ULong *)&a)[0] = tl2;
! tl1 = ((_CORBA_ULong *)&t)[0];
! tl2 = Swap32(tl1);
! ((_CORBA_ULong *)&a)[1] = tl2;
! }
! else {
! UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
! }
! return;
! }
#ifdef HAS_LongDouble
#error "long double is not supported yet"
--- 175,219 ----
size_t Bufsize=0);
~NetBufferedStream();
! friend inline void operator>>= (_CORBA_Char a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_Char& a, NetBufferedStream& s);
#ifdef HAS_Cplusplus_Bool
! friend inline void operator>>= (_CORBA_Boolean b, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_Boolean& b, NetBufferedStream& s);
#endif
! friend inline void operator>>= (_CORBA_Short a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_Short& a, NetBufferedStream& s);
! friend inline void operator>>= (_CORBA_UShort a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_UShort& a, NetBufferedStream& s);
! friend inline void operator>>= (_CORBA_Long a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_Long& a, NetBufferedStream& s);
! friend inline void operator>>= (_CORBA_ULong a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_ULong& a, NetBufferedStream& s);
#ifdef HAS_LongLong
! friend inline void operator>>= (_CORBA_LongLong a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_LongLong& a, NetBufferedStream& s);
! friend inline void operator>>= (_CORBA_ULongLong a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_ULongLong& a, NetBufferedStream& s);
#endif
#if !defined(NO_FLOAT)
! friend inline void operator>>= (_CORBA_Float a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_Float& a, NetBufferedStream& s);
! friend inline void operator>>= (_CORBA_Double a, NetBufferedStream& s);
! friend inline void operator<<= (_CORBA_Double& a, NetBufferedStream& s);
#ifdef HAS_LongDouble
#error "long double is not supported yet"
***************
*** 531,536 ****
--- 406,580 ----
};
//////////////////////////////////////////////////////////////////////
+
+ inline void operator>>= (_CORBA_Char a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
+ }
+
+ inline void operator<<= (_CORBA_Char& a, NetBufferedStream& s) {
+ UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
+ }
+
+ #ifdef HAS_Cplusplus_Bool
+
+ inline void operator>>= (_CORBA_Boolean b, NetBufferedStream& s) {
+ _CORBA_Char c = b ? 1 : 0;
+ MARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
+ }
+
+ inline void operator<<= (_CORBA_Boolean& b, NetBufferedStream& s) {
+ _CORBA_Char c;
+ UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
+ b = c ? true : false;
+ }
+
+ #endif
+
+ inline void operator>>= (_CORBA_Short a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
+ }
+
+ inline void operator<<= (_CORBA_Short& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_Short t;
+ UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,t);
+ a = Swap16(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_UShort a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
+ }
+
+ inline void operator<<= (_CORBA_UShort& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_UShort t;
+ UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,t);
+ a = Swap16(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
+ }
+ return;
+ }
+
+
+ inline void operator>>= (_CORBA_Long a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
+ }
+
+ inline void operator<<= (_CORBA_Long& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_Long t;
+ UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,t);
+ a = Swap32(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_ULong a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
+ }
+
+ inline void operator<<= (_CORBA_ULong& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_ULong t;
+ UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,t);
+ a = Swap32(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
+ }
+ return;
+ }
+
+ #ifdef HAS_LongLong
+
+ inline void operator>>= (_CORBA_LongLong a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
+ }
+
+ inline void operator<<= (_CORBA_LongLong& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_LongLong t;
+ UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,t);
+ a = Swap64(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_ULongLong a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
+ }
+
+ inline void operator<<= (_CORBA_ULongLong& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_ULongLong t;
+ UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,t);
+ a = Swap64(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
+ }
+ return;
+ }
+
+ #endif
+
+ #if !defined(NO_FLOAT)
+
+ inline void operator>>= (_CORBA_Float a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
+ }
+
+ inline void operator<<= (_CORBA_Float& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_Float t;
+ UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,t);
+ _CORBA_ULong tl1 = *((_CORBA_ULong *)&t);
+ _CORBA_ULong tl2 = Swap32(tl1);
+ a = *((_CORBA_Float *) &tl2);
+ }
+ else {
+ UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_Double a, NetBufferedStream& s) {
+ MARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
+ }
+
+ inline void operator<<= (_CORBA_Double& a, NetBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_Double t;
+ UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,t);
+ _CORBA_ULong tl1 = ((_CORBA_ULong *)&t)[1];
+ _CORBA_ULong tl2 = Swap32(tl1);
+ ((_CORBA_ULong *)&a)[0] = tl2;
+ tl1 = ((_CORBA_ULong *)&t)[0];
+ tl2 = Swap32(tl1);
+ ((_CORBA_ULong *)&a)[1] = tl2;
+ }
+ else {
+ UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
+ }
+ return;
+ }
+
+ #endif
+
+ //////////////////////////////////////////////////////////////////////
////////////////////////// MemBufferedStream /////////////////////////
//////////////////////////////////////////////////////////////////////
***************
*** 546,715 ****
MemBufferedStream(void* databuffer, size_t maxLen);
// Constructors for a read-only buffered stream.
! friend inline void operator>>= (_CORBA_Char a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
! }
!
! friend inline void operator<<= (_CORBA_Char& a, MemBufferedStream& s) {
! UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
! }
#ifdef HAS_Cplusplus_Bool
! friend inline void operator>>= (_CORBA_Boolean b, MemBufferedStream& s) {
! _CORBA_Char c = b ? 1 : 0;
! MARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
! }
!
! friend inline void operator<<= (_CORBA_Boolean& b, MemBufferedStream& s) {
! _CORBA_Char c;
! UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
! b = c ? true : false;
! }
#endif
! friend inline void operator>>= (_CORBA_Short a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
! }
! friend inline void operator<<= (_CORBA_Short& a, MemBufferedStream& s) {
! if (s.byteOrder() != omni::myByteOrder) {
! _CORBA_Short t;
! UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,t);
! a = Swap16(t);
! }
! else {
! UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
! }
! return;
! }
!
! friend inline void operator>>= (_CORBA_UShort a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
! }
!
! friend inline void operator<<= (_CORBA_UShort& a, MemBufferedStream& s) {
! if (s.byteOrder() != omni::myByteOrder) {
! _CORBA_UShort t;
! UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,t);
! a = Swap16(t);
! }
! else {
! UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
! }
! return;
! }
!
!
! friend inline void operator>>= (_CORBA_Long a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
! }
!
! friend inline void operator<<= (_CORBA_Long& a, MemBufferedStream& s) {
! if (s.byteOrder() != omni::myByteOrder) {
! _CORBA_Long t;
! UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,t);
! a = Swap32(t);
! }
! else {
! UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
! }
! return;
! }
! friend inline void operator>>= (_CORBA_ULong a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
! }
! friend inline void operator<<= (_CORBA_ULong& a, MemBufferedStream& s) {
! if (s.byteOrder() != omni::myByteOrder) {
! _CORBA_ULong t;
! UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,t);
! a = Swap32(t);
! }
! else {
! UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
! }
! return;
! }
#ifdef HAS_LongLong
-
- friend inline void operator>>= (_CORBA_LongLong a, MemBufferedStream& s) {
- MARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
- }
-
- friend inline void operator<<= (_CORBA_LongLong& a, MemBufferedStream& s) {
- if (s.RdMessageByteOrder() != omni::myByteOrder) {
- _CORBA_LongLong t;
- UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,t);
- a = Swap64(t);
- }
- else {
- UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
- }
- return;
- }
! friend inline void operator>>= (_CORBA_ULongLong a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
! }
! friend inline void operator<<= (_CORBA_ULongLong& a, MemBufferedStream& s) {
! if (s.RdMessageByteOrder() != omni::myByteOrder) {
! _CORBA_ULongLong t;
! UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,t);
! a = Swap64(t);
! }
! else {
! UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
! }
! return;
! }
#endif
#if !defined(NO_FLOAT)
-
- friend inline void operator>>= (_CORBA_Float a, MemBufferedStream& s) {
- MARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
- }
-
- friend inline void operator<<= (_CORBA_Float& a, MemBufferedStream& s) {
- if (s.byteOrder() != omni::myByteOrder) {
- _CORBA_Float t;
- UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,t);
- _CORBA_ULong tl1 = *((_CORBA_ULong *)&t);
- _CORBA_ULong tl2 = Swap32(tl1);
- a = *((_CORBA_Float *) &tl2);
- }
- else {
- UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
- }
- return;
- }
! friend inline void operator>>= (_CORBA_Double a, MemBufferedStream& s) {
! MARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
! }
! friend inline void operator<<= (_CORBA_Double& a, MemBufferedStream& s) {
! if (s.byteOrder() != omni::myByteOrder) {
! _CORBA_Double t;
! UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,t);
! _CORBA_ULong tl1 = ((_CORBA_ULong *)&t)[1];
! _CORBA_ULong tl2 = Swap32(tl1);
! ((_CORBA_ULong *)&a)[0] = tl2;
! tl1 = ((_CORBA_ULong *)&t)[0];
! tl2 = Swap32(tl1);
! ((_CORBA_ULong *)&a)[1] = tl2;
! }
! else {
! UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
! }
! return;
! }
#ifdef HAS_LongDouble
#error "long double is not supported yet"
--- 590,634 ----
MemBufferedStream(void* databuffer, size_t maxLen);
// Constructors for a read-only buffered stream.
! friend inline void operator>>= (_CORBA_Char a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_Char& a, MemBufferedStream& s);
#ifdef HAS_Cplusplus_Bool
! friend inline void operator>>= (_CORBA_Boolean b, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_Boolean& b, MemBufferedStream& s);
#endif
! friend inline void operator>>= (_CORBA_Short a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_Short& a, MemBufferedStream& s);
! friend inline void operator>>= (_CORBA_UShort a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_UShort& a, MemBufferedStream& s);
! friend inline void operator>>= (_CORBA_Long a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_Long& a, MemBufferedStream& s);
! friend inline void operator>>= (_CORBA_ULong a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_ULong& a, MemBufferedStream& s);
#ifdef HAS_LongLong
! friend inline void operator>>= (_CORBA_LongLong a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_LongLong& a, MemBufferedStream& s);
! friend inline void operator>>= (_CORBA_ULongLong a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_ULongLong& a, MemBufferedStream& s);
#endif
#if !defined(NO_FLOAT)
! friend inline void operator>>= (_CORBA_Float a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_Float& a, MemBufferedStream& s);
! friend inline void operator>>= (_CORBA_Double a, MemBufferedStream& s);
! friend inline void operator<<= (_CORBA_Double& a, MemBufferedStream& s);
#ifdef HAS_LongDouble
#error "long double is not supported yet"
***************
*** 849,854 ****
--- 768,944 ----
void overrun_error();
void write_to_readonly_error(const char* file, int line);
};
+
+ //////////////////////////////////////////////////////////////////////
+
+ inline void operator>>= (_CORBA_Char a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
+ }
+
+ inline void operator<<= (_CORBA_Char& a, MemBufferedStream& s) {
+ UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,a);
+ }
+
+ #ifdef HAS_Cplusplus_Bool
+
+ inline void operator>>= (_CORBA_Boolean b, MemBufferedStream& s) {
+ _CORBA_Char c = b ? 1 : 0;
+ MARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
+ }
+
+ inline void operator<<= (_CORBA_Boolean& b, MemBufferedStream& s) {
+ _CORBA_Char c;
+ UMARSHAL(s,_CORBA_Char,omni::ALIGN_1,c);
+ b = c ? true : false;
+ }
+
+ #endif
+
+ inline void operator>>= (_CORBA_Short a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
+ }
+
+ inline void operator<<= (_CORBA_Short& a, MemBufferedStream& s) {
+ if (s.byteOrder() != omni::myByteOrder) {
+ _CORBA_Short t;
+ UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,t);
+ a = Swap16(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_Short,omni::ALIGN_2,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_UShort a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
+ }
+
+ inline void operator<<= (_CORBA_UShort& a, MemBufferedStream& s) {
+ if (s.byteOrder() != omni::myByteOrder) {
+ _CORBA_UShort t;
+ UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,t);
+ a = Swap16(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_UShort,omni::ALIGN_2,a);
+ }
+ return;
+ }
+
+
+ inline void operator>>= (_CORBA_Long a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
+ }
+
+ inline void operator<<= (_CORBA_Long& a, MemBufferedStream& s) {
+ if (s.byteOrder() != omni::myByteOrder) {
+ _CORBA_Long t;
+ UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,t);
+ a = Swap32(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_Long,omni::ALIGN_4,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_ULong a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
+ }
+
+ inline void operator<<= (_CORBA_ULong& a, MemBufferedStream& s);
+
+ inline void operator<<= (_CORBA_ULong& a, MemBufferedStream& s) {
+ if (s.byteOrder() != omni::myByteOrder) {
+ _CORBA_ULong t;
+ UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,t);
+ a = Swap32(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_ULong,omni::ALIGN_4,a);
+ }
+ return;
+ }
+
+ #ifdef HAS_LongLong
+
+ inline void operator>>= (_CORBA_LongLong a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
+ }
+
+ inline void operator<<= (_CORBA_LongLong& a, MemBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_LongLong t;
+ UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,t);
+ a = Swap64(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_LongLong,omni::ALIGN_8,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_ULongLong a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
+ }
+
+ inline void operator<<= (_CORBA_ULongLong& a, MemBufferedStream& s) {
+ if (s.RdMessageByteOrder() != omni::myByteOrder) {
+ _CORBA_ULongLong t;
+ UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,t);
+ a = Swap64(t);
+ }
+ else {
+ UMARSHAL(s,_CORBA_ULongLong,omni::ALIGN_8,a);
+ }
+ return;
+ }
+
+ #endif
+
+ #if !defined(NO_FLOAT)
+
+ inline void operator>>= (_CORBA_Float a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
+ }
+
+ inline void operator<<= (_CORBA_Float& a, MemBufferedStream& s) {
+ if (s.byteOrder() != omni::myByteOrder) {
+ _CORBA_Float t;
+ UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,t);
+ _CORBA_ULong tl1 = *((_CORBA_ULong *)&t);
+ _CORBA_ULong tl2 = Swap32(tl1);
+ a = *((_CORBA_Float *) &tl2);
+ }
+ else {
+ UMARSHAL(s,_CORBA_Float,omni::ALIGN_4,a);
+ }
+ return;
+ }
+
+ inline void operator>>= (_CORBA_Double a, MemBufferedStream& s) {
+ MARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
+ }
+
+ inline void operator<<= (_CORBA_Double& a, MemBufferedStream& s) {
+ if (s.byteOrder() != omni::myByteOrder) {
+ _CORBA_Double t;
+ UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,t);
+ _CORBA_ULong tl1 = ((_CORBA_ULong *)&t)[1];
+ _CORBA_ULong tl2 = Swap32(tl1);
+ ((_CORBA_ULong *)&a)[0] = tl2;
+ tl1 = ((_CORBA_ULong *)&t)[0];
+ tl2 = Swap32(tl1);
+ ((_CORBA_ULong *)&a)[1] = tl2;
+ }
+ else {
+ UMARSHAL(s,_CORBA_Double,omni::ALIGN_8,a);
+ }
+ return;
+ }
+
+ #endif
//////////////////////////////////////////////////////////////////////
/////////////////////////// CdrStreamHelper //////////////////////////
Index: src/lib/omniORB2/dynamic/sharedlib/dir.mk
===================================================================
RCS file: /cvsroot/omni/src/lib/omniORB2/dynamic/sharedlib/dir.mk,v
retrieving revision 1.13.6.6
diff -c -r1.13.6.6 dir.mk
*** dir.mk 2000/11/23 13:05:05 1.13.6.6
--- dir.mk 2001/02/20 15:36:50
***************
*** 354,360 ****
$(dynlib): $(DYN_OBJS)
(set -x; \
$(RM) $@; \
! /usr/lpp/xlC/bin/makeC++SharedLib_r \
-o $(dynsoname) $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibSuffixPattern),$^) $(OMNITHREAD_LIB) \
-L../../orbcore/sharedlib -l$(libcorename) -p 40; \
--- 354,360 ----
$(dynlib): $(DYN_OBJS)
(set -x; \
$(RM) $@; \
! /usr/vacpp/bin/makeC++SharedLib_r \
-o $(dynsoname) $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibSuffixPattern),$^) $(OMNITHREAD_LIB) \
-L../../orbcore/sharedlib -l$(libcorename) -p 40; \
Index: src/lib/omniORB2/orbcore/portableserver.cc
===================================================================
RCS file: /cvsroot/omni/src/lib/omniORB2/orbcore/portableserver.cc,v
retrieving revision 1.1.2.12
diff -c -r1.1.2.12 portableserver.cc
*** portableserver.cc 2000/10/18 16:07:45 1.1.2.12
--- portableserver.cc 2001/02/20 15:36:50
***************
*** 220,226 ****
if( 0 /*?? in context of invocation on this servant */ ) {
// Return a reference to the object being invoked.
! #if defined(__DECCXX) && __DECCXX_VER >= 60000000
// Compaq C++ 6.2 warns about this even though this code
// cannot ever execute
return 0;
--- 220,226 ----
if( 0 /*?? in context of invocation on this servant */ ) {
// Return a reference to the object being invoked.
! #if (defined(__DECCXX) && __DECCXX_VER >= 60000000) || defined(__xlC__)
// Compaq C++ 6.2 warns about this even though this code
// cannot ever execute
return 0;
------- =_aaaaaaaaaa0--