From 1dd763243224c8c9a6affd7cb3bf9f0751041d6e Mon Sep 17 00:00:00 2001 From: nanbor Date: Wed, 21 Mar 2001 22:16:28 +0000 Subject: ChangeLogTag:Wed Mar 21 16:00:56 2001 Nanbor Wang --- ChangeLog | 63 ++++++++++++++++++++++++++- ChangeLogs/ChangeLog-02a | 63 ++++++++++++++++++++++++++- ChangeLogs/ChangeLog-03a | 63 ++++++++++++++++++++++++++- ace/ACE.cpp | 6 ++- ace/OS.h | 6 ++- ace/Sock_Connect.cpp | 10 ++--- ace/config-irix6.x-kcc.h | 9 ++++ include/makeinclude/platform_irix6.x_kcc.GNU | 34 +++++++++------ include/makeinclude/platform_osf1_4.0_kcc.GNU | 21 ++++++--- include/makeinclude/platform_tru64_kcc.GNU | 50 +++++++++++++++++++++ tests/DLL_Test.cpp | 16 ++++++- 11 files changed, 310 insertions(+), 31 deletions(-) create mode 100644 include/makeinclude/platform_tru64_kcc.GNU diff --git a/ChangeLog b/ChangeLog index 3d3faea1ce2..4fcc5c14a32 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,64 @@ +Wed Mar 21 16:00:56 2001 Nanbor Wang + + The followings are contributions from Scott Snyder + to make ACE happy on Digital UNIX with KCC + 3.4d. + + * include/makeinclude/platform_tru64_kcc.GNU: + * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added KCCOPTS and + support for tru64 unix. + + * ace/OS.h: On this platform, we ran into problems with sigwait + being a macro. The fix that had been added for this was keyed + on __DECCXX_VER, so it isn't picked up on this platform. + + * ace/Sock_Connect.cpp: Enum_Interface_Test failed on this + platform. The code in Socket_Connect.cpp that implements this + is conditional on `__unix' being defined. However, with this + compiler, we get `unix' and `__unix__' defined, but not + `__unix'. Fixed by testing for `__unix__' too. + + * ace/ACE.cpp: Cache_Conn_Test was failing. It looks like the + code in ACE::out_of_handles doesn't have a case to handle osf1. + +Wed Mar 21 12:08:35 2001 Nanbor Wang + + The followings are contributions from Scott Snyder + to make ACE happy on IRIX 6.x with KCC 3.4d. + + * include/makeinclude/platform_irix6.x_kcc.GNU: + Disable the following warings and separate common options into + $(KCCOPTS). + + 280: declaration of a member with the same name as its class Get + this from . + + 608: this pragma must immediately precede a declaration or + statement Get this from . + + * ace/OS.h: Changed to only request RTLD_GROUP and RTLD_NODELETE + if they are actually available. + + * ace/config-irix6.x-kcc.h: Undefined + ACE_LACKS_PLACEMENT_OPERATOR_DELETE since KCC actually supports it. + + Config_Test was failing because with the default setup, ace + tries to locate the shared memory pool at 0x04000000. But it + turns out that this is the same address at which irix likes to + load the KCC shared library, libKCC.so. So the memory pool ends + up blowing away all the library code. Fixed by shifting the + default base address to 0x05000000 for this configuration. + + OS_Test was failing because on irix, kcc 4.0d miscompiles + memchr_emulation if +K3 optimization is used. I worked around + this by just using the library version of memchr instead: + + * ace/ACE.cpp: Cached_Conn_Test was failing because the code in + ACE::out_of_handles doesn't have a case to handle irix. + + * tests/DLL_Test.cpp: It died trying to run object dtors. Fixed by + turning off the close-on-destruction flag for this test. + Wed Mar 21 13:33:58 2001 Ossama Othman * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp: @@ -101,7 +162,7 @@ Sun Mar 18 08:31:34 2001 Douglas C. Schmidt * apps/Gateway/Peer: Added a number of fixes to the Gateway and Peer applications. Thanks to Lu Yunhai for contributing these. - + Sun Mar 18 08:31:34 2001 Douglas C. Schmidt * examples/IPC_SAP/FILE_SAP/client.cpp (main): Added a couple of diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index 3d3faea1ce2..4fcc5c14a32 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,3 +1,64 @@ +Wed Mar 21 16:00:56 2001 Nanbor Wang + + The followings are contributions from Scott Snyder + to make ACE happy on Digital UNIX with KCC + 3.4d. + + * include/makeinclude/platform_tru64_kcc.GNU: + * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added KCCOPTS and + support for tru64 unix. + + * ace/OS.h: On this platform, we ran into problems with sigwait + being a macro. The fix that had been added for this was keyed + on __DECCXX_VER, so it isn't picked up on this platform. + + * ace/Sock_Connect.cpp: Enum_Interface_Test failed on this + platform. The code in Socket_Connect.cpp that implements this + is conditional on `__unix' being defined. However, with this + compiler, we get `unix' and `__unix__' defined, but not + `__unix'. Fixed by testing for `__unix__' too. + + * ace/ACE.cpp: Cache_Conn_Test was failing. It looks like the + code in ACE::out_of_handles doesn't have a case to handle osf1. + +Wed Mar 21 12:08:35 2001 Nanbor Wang + + The followings are contributions from Scott Snyder + to make ACE happy on IRIX 6.x with KCC 3.4d. + + * include/makeinclude/platform_irix6.x_kcc.GNU: + Disable the following warings and separate common options into + $(KCCOPTS). + + 280: declaration of a member with the same name as its class Get + this from . + + 608: this pragma must immediately precede a declaration or + statement Get this from . + + * ace/OS.h: Changed to only request RTLD_GROUP and RTLD_NODELETE + if they are actually available. + + * ace/config-irix6.x-kcc.h: Undefined + ACE_LACKS_PLACEMENT_OPERATOR_DELETE since KCC actually supports it. + + Config_Test was failing because with the default setup, ace + tries to locate the shared memory pool at 0x04000000. But it + turns out that this is the same address at which irix likes to + load the KCC shared library, libKCC.so. So the memory pool ends + up blowing away all the library code. Fixed by shifting the + default base address to 0x05000000 for this configuration. + + OS_Test was failing because on irix, kcc 4.0d miscompiles + memchr_emulation if +K3 optimization is used. I worked around + this by just using the library version of memchr instead: + + * ace/ACE.cpp: Cached_Conn_Test was failing because the code in + ACE::out_of_handles doesn't have a case to handle irix. + + * tests/DLL_Test.cpp: It died trying to run object dtors. Fixed by + turning off the close-on-destruction flag for this test. + Wed Mar 21 13:33:58 2001 Ossama Othman * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp: @@ -101,7 +162,7 @@ Sun Mar 18 08:31:34 2001 Douglas C. Schmidt * apps/Gateway/Peer: Added a number of fixes to the Gateway and Peer applications. Thanks to Lu Yunhai for contributing these. - + Sun Mar 18 08:31:34 2001 Douglas C. Schmidt * examples/IPC_SAP/FILE_SAP/client.cpp (main): Added a couple of diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 3d3faea1ce2..4fcc5c14a32 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,64 @@ +Wed Mar 21 16:00:56 2001 Nanbor Wang + + The followings are contributions from Scott Snyder + to make ACE happy on Digital UNIX with KCC + 3.4d. + + * include/makeinclude/platform_tru64_kcc.GNU: + * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added KCCOPTS and + support for tru64 unix. + + * ace/OS.h: On this platform, we ran into problems with sigwait + being a macro. The fix that had been added for this was keyed + on __DECCXX_VER, so it isn't picked up on this platform. + + * ace/Sock_Connect.cpp: Enum_Interface_Test failed on this + platform. The code in Socket_Connect.cpp that implements this + is conditional on `__unix' being defined. However, with this + compiler, we get `unix' and `__unix__' defined, but not + `__unix'. Fixed by testing for `__unix__' too. + + * ace/ACE.cpp: Cache_Conn_Test was failing. It looks like the + code in ACE::out_of_handles doesn't have a case to handle osf1. + +Wed Mar 21 12:08:35 2001 Nanbor Wang + + The followings are contributions from Scott Snyder + to make ACE happy on IRIX 6.x with KCC 3.4d. + + * include/makeinclude/platform_irix6.x_kcc.GNU: + Disable the following warings and separate common options into + $(KCCOPTS). + + 280: declaration of a member with the same name as its class Get + this from . + + 608: this pragma must immediately precede a declaration or + statement Get this from . + + * ace/OS.h: Changed to only request RTLD_GROUP and RTLD_NODELETE + if they are actually available. + + * ace/config-irix6.x-kcc.h: Undefined + ACE_LACKS_PLACEMENT_OPERATOR_DELETE since KCC actually supports it. + + Config_Test was failing because with the default setup, ace + tries to locate the shared memory pool at 0x04000000. But it + turns out that this is the same address at which irix likes to + load the KCC shared library, libKCC.so. So the memory pool ends + up blowing away all the library code. Fixed by shifting the + default base address to 0x05000000 for this configuration. + + OS_Test was failing because on irix, kcc 4.0d miscompiles + memchr_emulation if +K3 optimization is used. I worked around + this by just using the library version of memchr instead: + + * ace/ACE.cpp: Cached_Conn_Test was failing because the code in + ACE::out_of_handles doesn't have a case to handle irix. + + * tests/DLL_Test.cpp: It died trying to run object dtors. Fixed by + turning off the close-on-destruction flag for this test. + Wed Mar 21 13:33:58 2001 Ossama Othman * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp: @@ -101,7 +162,7 @@ Sun Mar 18 08:31:34 2001 Douglas C. Schmidt * apps/Gateway/Peer: Added a number of fixes to the Gateway and Peer applications. Thanks to Lu Yunhai for contributing these. - + Sun Mar 18 08:31:34 2001 Douglas C. Schmidt * examples/IPC_SAP/FILE_SAP/client.cpp (main): Added a couple of diff --git a/ace/ACE.cpp b/ace/ACE.cpp index 3a875947b3c..7872835c5eb 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -56,6 +56,10 @@ ACE::out_of_handles (int error) // ENOSYS (libc_r threads) also. error == EOPNOTSUPP || error == ENOSYS || +#elif defined (__sgi) // irix + error == ENOTSUP || +#elif defined (DIGITAL_UNIX) // osf1 + error == ENOTSUP || #endif /* ACE_WIN32 */ error == ENFILE) return 1; @@ -3205,7 +3209,7 @@ ACE::strend (const wchar_t *s) } #endif -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) && (defined (__unix) || defined (__Lynx__) || defined (_AIX)) +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) && (defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX)) template class ACE_Auto_Array_Ptr; template class ACE_Auto_Basic_Array_Ptr; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) diff --git a/ace/OS.h b/ace/OS.h index 2531845ba25..1df60f6fccb 100644 --- a/ace/OS.h +++ b/ace/OS.h @@ -3802,6 +3802,10 @@ typedef void (*__sighandler_t)(int); // keep Signal compilation happy // <::_Psigwait> works with cxx -pthread. g++ does _not_ need // it. extern "C" int _Psigwait __((const sigset_t *set, int *sig)); +# elif defined (__KCC) +# undef sigwait + inline int sigwait (const sigset_t* set, int* sig) + { return _Psigwait (set, sig); } # endif /* __DECCXX_VER */ # elif !defined (ACE_HAS_SIGWAIT) extern "C" int sigwait (sigset_t *set); @@ -3832,7 +3836,7 @@ extern "C" { # if !defined (RTLD_LAZY) # define RTLD_LAZY 1 # endif /* !RTLD_LAZY */ -# if defined (__KCC) && !defined(linux) +# if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE) # define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE # else # define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY diff --git a/ace/Sock_Connect.cpp b/ace/Sock_Connect.cpp index d39a3fd073f..972f838ef92 100644 --- a/ace/Sock_Connect.cpp +++ b/ace/Sock_Connect.cpp @@ -337,9 +337,9 @@ ACE_Sock_Connect::get_ip_interfaces (size_t &count, DWORD bytes; status = WSAIoctl(sock, SIO_GET_INTERFACE_LIST, - 0, 0, - info, + 0, + info, sizeof(info), &bytes, 0, @@ -545,7 +545,7 @@ ACE_Sock_Connect::get_ip_interfaces (size_t &count, # endif /* ACE_HAS_PHARLAP */ # endif /* Winsock 2 && MSVC 5 or later */ -#elif defined (__unix) || defined (__Lynx__) || defined (_AIX) +#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX) // COMMON (SVR4 and BSD) UNIX CODE size_t num_ifs; @@ -699,7 +699,7 @@ ACE_Sock_Connect::count_interfaces (ACE_HANDLE handle, -1); how_many = (size_t) tmp_how_many; return 0; -#elif defined (__unix) || defined (__Lynx__) || defined (_AIX) +#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX) // Note: DEC CXX doesn't define "unix". BSD compatible OS: HP UX, // AIX, SunOS 4.x perform some ioctls to retrieve ifconf list of // ifreq structs no SIOCGIFNUM on SunOS 4.x, so use guess and scan @@ -790,7 +790,7 @@ ACE_Sock_Connect::get_handle (void) ACE_HANDLE handle = ACE_INVALID_HANDLE; #if defined (sparc) && ! defined (CHORUS) handle = ACE_OS::open ("/dev/udp", O_RDONLY); -#elif defined (__unix) || defined (__Lynx__) || defined (_AIX) +#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX) // Note: DEC CXX doesn't define "unix" BSD compatible OS: HP UX, // AIX, SunOS 4.x diff --git a/ace/config-irix6.x-kcc.h b/ace/config-irix6.x-kcc.h index e14b2cd8f97..5b1ba941c69 100644 --- a/ace/config-irix6.x-kcc.h +++ b/ace/config-irix6.x-kcc.h @@ -54,6 +54,15 @@ // Compiler/platform supports sys_siglist array. //#define ACE_HAS_SYS_SIGLIST +// This gets defined in config-irix6.x-common.h, but kcc does support this. +#undef ACE_LACKS_PLACEMENT_OPERATOR_DELETE + +// Shift this --- otherwise, it lands on top of libKCC. +#define ACE_DEFAULT_BASE_ADDR ((char*) 0x0500000) + +// kcc 4.0d miscompiles memchr_emulation on irix at +K3 optimization. +// So just use the library version instead. +#define ACE_HAS_MEMCHR #include "ace/post.h" #endif /* ACE_CONFIG_H */ diff --git a/include/makeinclude/platform_irix6.x_kcc.GNU b/include/makeinclude/platform_irix6.x_kcc.GNU index 3d5311feea3..1662186caa9 100644 --- a/include/makeinclude/platform_irix6.x_kcc.GNU +++ b/include/makeinclude/platform_irix6.x_kcc.GNU @@ -1,35 +1,41 @@ # $Id$ -# Irix 6.x with KCC 3.3f +# Irix 6.x with KCC 3.4d include $(ACE_ROOT)/include/makeinclude/platform_irix6.x_common.GNU # WARNING_FLAGS += # 111: statement is unreachable. There's a whole bunch of these # in the ace code. -WARNING_FLAGS += --diag_suppress 111 +# 280: declaration of a member with the same name as its class +# Get this from . +# 608: this pragma must immediately precede a declaration or statement +# Get this from +WARNING_FLAGS += --diag_suppress 111,280,608 debug = 1 optimize = 1 CC = KCC -CXX = KCC -CFLAGS += -32 -CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) +CXX = $(CC) +CFLAGS += -n32 +KCCOPTS = --thread_safe --one_per +CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) $(KCCOPTS) ifeq ($(optimize),1) -DCFLAGS += -g --backend -g3 +DCFLAGS += -g else DCFLAGS += +K0 -g endif -DLD = $(CXX) -LD = $(CXX) -LDFLAGS += -32 -L$(ACE_ROOT)/ace -L. -LIBS += -lpthread +DLD = $(CC) +LD = $(CC) +# warning 84: "" is not used for resolving any symbol. +LDFLAGS += -n32 -L$(ACE_ROOT)/ace -L. --backend -Wl,-woff,84 +#LIBS += -lpthread OCFLAGS += +K3 -O2 -PIC = -AR = KCC -ARFLAGS = -o +PIC = +AR = $(CC) +ARFLAGS = $(KCCOPTS) -o RANLIB = @true -SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB) +SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_osf1_4.0_kcc.GNU b/include/makeinclude/platform_osf1_4.0_kcc.GNU index 0b921097354..ec46c27bd73 100644 --- a/include/makeinclude/platform_osf1_4.0_kcc.GNU +++ b/include/makeinclude/platform_osf1_4.0_kcc.GNU @@ -11,12 +11,13 @@ optimize = 1 # and /usr/include/net/if_types.h # 111: statement is unreachable. There's a whole bunch of these # in the ace code. -WARNING_FLAGS += --diag_suppress 9,111 +WARNING_FLAGS += --display_error_number --diag_suppress 9,111 CC = KCC CXX = $(CC) CFLAGS += -D_REENTRANT -CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) +KCCOPTS = --thread_safe --one_per +CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) $(KCCOPTS) ifeq ($(optimize),1) DCFLAGS += -g3 else @@ -26,12 +27,22 @@ LD = $(CC) DLD = $(CC) LIBS += -lpthread -lmach -lexc -ltli -lrt -lm OCFLAGS += +K3 -O -PIC = +PIC = AR = $(CC) -ARFLAGS = -o +ARFLAGS = $(KCCOPTS) -o # When libraries are archived, a hash index is automatically created so there # is no need for ranlib RANLIB = /usr/bin/true -SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB) -lc +SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) -lc + +# With kcc 4, if it does template splitting and ends up with more than +# a certain number of templates, it can screw up the link command so that +# the entry point for the program gets set to one of the template +# instantiations! This forces the correct entry point. +LDFLAGS += --backend -Wl,-e,__start + +# Work around kcc overflowing the arg list... +SHLIBBUILD = $(AR) $(ARFLAGS) $@-tmp.a $(VSHOBJS1) $(LDFLAGS) $(LIBS); $(filter-out -c,$(COMPILE.cc) $(PIC)) -o $@ -all $@-tmp.a -none $(LDFLAGS) $(LIBS) -lc --COMPO_ln_dy -expect_unresolved --COMPO_ln_dy '*'; rm $@-tmp.a + SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_tru64_kcc.GNU b/include/makeinclude/platform_tru64_kcc.GNU new file mode 100644 index 00000000000..1ce21ab21ed --- /dev/null +++ b/include/makeinclude/platform_tru64_kcc.GNU @@ -0,0 +1,50 @@ +# $Id$ + +# This platform macros file is intended to work with +# Digital UNIX using the KAI compiler. + +ifndef ACE_DU_VERSION + ACE_DU_VERSION := $(shell uname -r) +endif # ACE_DU_VERSION + +ifeq (3.,$(findstring 3.,$(ACE_DU_VERSION))) + include $(ACE_ROOT)/include/makeinclude/platform_osf1_3.2.GNU + +else # ! 3.x +ifeq (4.,$(findstring 4.,$(ACE_DU_VERSION))) + include $(ACE_ROOT)/include/makeinclude/platform_osf1_4.0_kcc.GNU + + ifeq (4.0F,$(findstring 4.0F,$(shell /usr/sbin/sizer -v))) + CFLAGS += -DDIGITAL_UNIX=0x40F + # variable "" was declared but never referenced. + # Get these from PTHREAD_THIS_CATCH_NP. + WARNING_FLAGS += --diag_suppress 177 + else # ! 4.0F + CFLAGS += -DDIGITAL_UNIX=0x400 + endif # ! 4.0F + +else # ! 4.x +ifeq (5.,$(findstring 5.,$(ACE_DU_VERSION))) + include $(ACE_ROOT)/include/makeinclude/platform_osf1_4.0_kcc.GNU + + # variable "" was declared but never referenced. + # Get these from PTHREAD_THIS_CATCH_NP. + WARNING_FLAGS += --diag_suppress 177 + + # KCC makes a lot of these warnings from the C compiler. + WARNING_FLAGS += --backend -msg_disable --backend nonstandcast,missingretu +rn,uninit1,ptrmismatch + + ifndef ACE_DU_SUBVERSION + ACE_DU_SUBVERSION := $(shell /usr/sbin/sizer -v) + endif # ! ACE_DU_SUBVERSION + + ifeq (V5.1,$(findstring V5.1,$(ACE_DU_SUBVERSION))) + CFLAGS += -DDIGITAL_UNIX=0x510 + else + CFLAGS += -DDIGITAL_UNIX=0x500 + endif + +endif # 5.x +endif # ! 4.x +endif # ! 3.x diff --git a/tests/DLL_Test.cpp b/tests/DLL_Test.cpp index e8603c12ebd..b091c29bbb2 100644 --- a/tests/DLL_Test.cpp +++ b/tests/DLL_Test.cpp @@ -23,7 +23,7 @@ ACE_RCSID(tests, DLL_Test, "$Id$") -#if defined (ACE_WIN32) && defined (_DEBUG) +#if defined (ACE_WIN32) && defined (_DEBUG) # define OBJ_SUFFIX ACE_TEXT ("d") ACE_DLL_SUFFIX #else /* ACE_WIN32 && _DEBUG */ # define OBJ_SUFFIX ACE_DLL_SUFFIX @@ -58,9 +58,21 @@ main (int, ACE_TCHAR *[]) defined (__hpux) ACE_DLL dll; + +#if defined (__KCC) + /* With KCC, turning on close-on-destruction will cause problems + when libKCC tries to call dtors. */ + int retval = dll.open (ACE_TEXT (OBJ_PREFIX) + ACE_TEXT ("DLL_Test") + ACE_TEXT (OBJ_SUFFIX), + ACE_DEFAULT_SHLIB_MODE, + 0); +#else int retval = dll.open (OBJ_PREFIX ACE_TEXT ("DLL_Test") OBJ_SUFFIX); +#endif /* __KCC */ + if (retval != 0) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Error in DLL Open\n")), @@ -80,7 +92,7 @@ main (int, ACE_TCHAR *[]) if (factory == 0) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), - dll.error ()), + dll.error ()), -1); auto_ptr my_hello (factory ()); -- cgit v1.2.1