[omniORB] Compiling omniORB 4.0.1 with Visual C++ .NET 2003 (7.1)

Matej Kenda matejkenda@volja.net
Tue Apr 29 13:34:01 2003


--=-vYct5rvUT5+mZ39kBthD
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

On Tue, 2003-04-29 at 13:26, Duncan Grisby wrote:
> On Monday 28 April, Matej Kenda wrote:
> 
> [...]
> > As far as I have found out, the cdrStream's operators are on the global
> > scope and the original function call should succeed. But the compiler
> > didn't list the proper operator among those that it tried to use. See
> > the output below.
> > 
> > Is this a bug in the compiler?
> 
> I think it's a bug. These days, cdrStream.h has an alternative version
> of the friend functions, outside the cdrStream class. You could try
> defining OMNI_NO_INLINE_FRIENDS in CORBA_sysdep.h, and see if that
> helps.
> 

Duncan, thanks. It helps. Please find attached a patch that adds this
particular define for VC 7.1 only (compiler version 13.10).

Regards,

Matej



--=-vYct5rvUT5+mZ39kBthD
Content-Description: Patch to work around the VC 7.1 bug
Content-Disposition: inline; filename=omniORB4-VC-7.1.diff
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

--- CORBA_sysdep.h	2003-04-29 14:17:07.000000000 +0200
+++ omniORB4/CORBA_sysdep.h	2003-03-02 18:10:40.000000000 +0100
@@ -186,14 +186,6 @@
 #  define NEED_DUMMY_RETURN
 
 //
-// VC.NET 2003 (v. 7.1) has problems
-// recognizing inline friend operators.
-// 
-#if (_MSC_VER == 1310)
-#  define OMNI_NO_INLINE_FRIENDS
-#endif
-
-//
 // _OMNIORB_LIBRARY         is defined when the omniORB library is compiled.
 // _OMNIORB_DYNAMIC_LIBRARY is defined when the dynamic library is compiled.
 //  These are defined on the command line when compiling the libraries.

--=-vYct5rvUT5+mZ39kBthD--