[omniORB] Solaris 8 compat mode support for Sun C++ compiler

Rakshit Simha rsimha@orchestream.com
Fri, 28 Sep 2001 11:21:51 -0400


Hi all,

I am using omniORB 3.0.2 and omniORB 2.8.0 on Solaris 8 (sparc). The
compiler is Sun Forte 6U1 running in compat mode 4.  In this compat 
mode, there is no support for namespaces.

This causes problems that can be traced to this bit of code in
CORBA_sysdep.h:

[...]
#elif defined(__SUNPRO_CC)
// SUN C++ compiler
#  if __SUNPRO_CC < 0x420
#    define NEED_DUMMY_RETURN
#  elif __SUNPRO_CC >= 0x500
#    define HAS_Cplusplus_Namespace
#    define HAS_Std_Namespace
#  endif
[...]


To include awareness of compat mode, I have modified this to be:

[...]
#elif defined(__SUNPRO_CC)
// SUN C++ compiler
#  if __SUNPRO_CC < 0x420
#    define NEED_DUMMY_RETURN
#  elif __SUNPRO_CC >= 0x500
#    if __SUNPRO_CC_COMPAT >= 5
#      define HAS_Cplusplus_Namespace
#      define HAS_Std_Namespace
#    endif
#  endif
[...]

This modification is working fine here.

My other question is non-technical: if we keep this modification and
release our product, what are our source-disclosure obligations under
GPL/LGPL?

Regards,
Rak.

-- 
Rakshit Simha                       Phone: (613) 599-2300 x8958
Senior Software Designer            Fax  : (613) 599-2330
Orchestream Americas Corp.          Email: rsimha@orchestream.com
Kanata, Canada                      http://www.orchestream.com/