summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog-99b27
-rw-r--r--THANKS1
-rw-r--r--ace/ACE.h4
-rw-r--r--ace/ACE.i4
-rw-r--r--ace/OS.cpp23
-rw-r--r--ace/OS.h8
-rw-r--r--ace/ace-dll.icc314
-rw-r--r--ace/config-win32-common.h4
8 files changed, 289 insertions, 96 deletions
diff --git a/ChangeLog-99b b/ChangeLog-99b
index 81ca91cd2ab..df6a32c7fcf 100644
--- a/ChangeLog-99b
+++ b/ChangeLog-99b
@@ -1,12 +1,25 @@
+Fri Sep 3 11:57:24 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * ace/OS.h,
+ * ace/config-win32-common.h: Added a #ifndef for __IBMCPP__ to
+ make things work for Visual Age C++. Thanks to Boris Kaminer
+ <kaminer.boris@cherus.msk.ru> for reporting this.
+
+ * ace/{ACE,OS}: Added ACE_HAS_UNICODE to conditionally compile the
+ strnew() definition. Thanks to Boris Kaminer
+ <kaminer.boris@cherus.msk.ru> for reporting this.
+
+ * ace: Added a new optimized ace-dll.icc file so that ACE will
+ build better with IBM's Visual Age C++. Thanks to Boris Kaminer
+ <kaminer.boris@cherus.msk.ru> for contributing this.
+
1999-09-03 Vishal Kachroo <vishal@cs.wustl.edu>
- Added a new overloaded ACE_OS::ioctl () function that takes in
- ACE_QoS as one of the parameters, constructs a windows QOS from
- it and passes it to WSAIoctl (). This function can be used when
- the I/O control code is SIO_SET_QOS.
-
- * ace/OS.i:
- * ace/OS.h:
+ * ace/OS.i:
+ * ace/OS.h: Added a new overloaded ACE_OS::ioctl () function that
+ takes in ACE_QoS as one of the parameters, constructs a windows
+ QOS from it and passes it to WSAIoctl (). This function can be
+ used when the I/O control code is SIO_SET_QOS.
Fri Sep 3 14:58:51 1999 Darrell Brunsch <brunsch@cs.wustl.edu>
diff --git a/THANKS b/THANKS
index d4f43054b54..d648e63fdf1 100644
--- a/THANKS
+++ b/THANKS
@@ -753,6 +753,7 @@ Rusty Conover <rconover@zootweb.com>
Alex Mintz <amintz@bear.com>
Phillippe Merle <Philippe.Merle@lifl.fr>
Mark Winrock <mwinrock@nortelnetworks.com>
+Boris Kaminer <kaminer.boris@cherus.msk.ru>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson. Paul devised the recursive Makefile scheme that
diff --git a/ace/ACE.h b/ace/ACE.h
index cab6a43a2f1..7849ed77760 100644
--- a/ace/ACE.h
+++ b/ace/ACE.h
@@ -465,11 +465,11 @@ public:
// This method is just like <strdup>, except that it uses <operator
// new> rather than <malloc>.
-# if defined (ACE_WIN32)
+# if defined (ACE_WIN32) && defined (ACE_HAS_UNICODE)
static wchar_t *strnew (const wchar_t *s);
// This method is just like <strdup>, except that it uses <operator
// new> rather than <malloc>.
-#endif /* ACE_WIN32 */
+#endif /* ACE_WIN32 && ACE_HAS_UNICODE */
static char *strndup (const char *str, size_t n);
// Create a fresh new copy of <str>, up to <n> chars long. Uses
diff --git a/ace/ACE.i b/ace/ACE.i
index 03a43c35cd2..a7f6e541661 100644
--- a/ace/ACE.i
+++ b/ace/ACE.i
@@ -161,7 +161,7 @@ ACE::strnew (const char *s)
return ACE_OS::strcpy (t, s);
}
-#if defined (ACE_WIN32)
+#if defined (ACE_WIN32) && defined (ACE_HAS_UNICODE)
ASYS_INLINE wchar_t *
ACE::strnew (const wchar_t *s)
{
@@ -172,4 +172,4 @@ ACE::strnew (const wchar_t *s)
else
return ACE_OS::strcpy (t, s);
}
-#endif /* ACE_WIN32 */
+#endif /* ACE_WIN32 && ACE_HAS_UNICODE */
diff --git a/ace/OS.cpp b/ace/OS.cpp
index 225a4f696c0..f4e4e250356 100644
--- a/ace/OS.cpp
+++ b/ace/OS.cpp
@@ -230,7 +230,8 @@ ACE_ALLOC_HOOK_DEFINE(ACE_Time_Value)
//
// In the beginning (Jan. 1, 1601), there was no time and no computer.
// And Bill said: "Let there be time," and there was time....
-const DWORDLONG ACE_Time_Value::FILETIME_to_timval_skew = ACE_INT64_LITERAL (0x19db1ded53e8000);
+const DWORDLONG ACE_Time_Value::FILETIME_to_timval_skew =
+ACE_INT64_LITERAL (0x19db1ded53e8000);
ACE_Time_Value::ACE_Time_Value (const FILETIME &file_time)
{
@@ -241,8 +242,11 @@ ACE_Time_Value::ACE_Time_Value (const FILETIME &file_time)
void ACE_Time_Value::set (const FILETIME &file_time)
{
// Initializes the ACE_Time_Value object from a Win32 FILETIME
- ULARGE_INTEGER _100ns = {file_time.dwLowDateTime,
- file_time.dwHighDateTime};
+ ULARGE_INTEGER _100ns =
+ {
+ file_time.dwLowDateTime,
+ file_time.dwHighDateTime
+ };
_100ns.QuadPart -= ACE_Time_Value::FILETIME_to_timval_skew;
// Convert 100ns units to seconds;
@@ -531,7 +535,8 @@ ACE_OS::uname (struct utsname *name)
ACE_TRACE ("ACE_OS::uname");
# if defined (ACE_WIN32)
size_t maxnamelen = sizeof name->nodename;
- ACE_OS::strcpy (name->sysname, ACE_TEXT ("Win32"));
+ ACE_OS::strcpy (name->sysname,
+ ACE_TEXT ("Win32"));
OSVERSIONINFO vinfo;
vinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
@@ -909,7 +914,8 @@ ACE_TRACE ("ACE_OS::mutex_lock_cleanup");
#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
FILE *
-ACE_OS::fopen (const char *filename, const char *mode)
+ACE_OS::fopen (const char *filename,
+ const char *mode)
{
ACE_TRACE ("ACE_OS::fopen");
int hmode = _O_TEXT;
@@ -939,7 +945,7 @@ ACE_OS::fopen (const char *filename, const char *mode)
}
#endif /* ACE_WIN32 && !ACE_HAS_WINCE */
-#if defined (ACE_WIN32)
+#if defined (ACE_WIN32) && defined (ACE_HAS_UNICODE)
FILE *
ACE_OS::fopen (const wchar_t *filename, const wchar_t *mode)
{
@@ -973,7 +979,7 @@ ACE_OS::fopen (const wchar_t *filename, const wchar_t *mode)
return NULL;
# endif /* !ACE_HAS_WINCE */
}
-# endif /* ACE_WIN32 */
+# endif /* ACE_WIN32 && ACE_HAS_UNICODE */
#if !defined (ACE_HAS_WINCE)
@@ -2392,8 +2398,7 @@ ACE_Thread_Adapter::inherit_log_msg (void)
#if defined (__IBMCPP__) && (__IBMCPP__ >= 400)
#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ()
#define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
- ::_beginthreadex (STACK, (void *) STACKSIZE, (unsigned int) ENTRYPOINT, (unsigned int *) THR_ID)
-#else
+ (*THR_ID = ::_beginthreadex ((void(_Optlink*)(void*))ENTRY_POINT, STACK, STACKSIZE, ARGS), *THR_ID)
#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
#define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
::_beginthreadex (STACK, STACKSIZE, (unsigned (__stdcall *) (void *)) ENTRY_POINT, ARGS, FLAGS, (unsigned int *) THR_ID)
diff --git a/ace/OS.h b/ace/OS.h
index e3c5b14fd55..358772e17e6 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -562,13 +562,13 @@ enum ACE_Recyclable_State
// First, we define how to properly export/import objects.
# if defined (ACE_WIN32) /* Only Win32 needs special treatment. */
-# if defined(_MSC_VER) || defined(__BORLANDC__)
+# if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__IBMCPP__)
/* Microsoft, Borland: */
# define ACE_Proper_Export_Flag __declspec (dllexport)
# define ACE_Proper_Import_Flag __declspec (dllimport)
# define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T
# define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T
-# else /* defined(_MSC_VER) || defined(__BORLANDC__) */
+# else /* defined (_MSC_VER) || defined (__BORLANDC__) || defined (__IBMCPP__) */
/* Non-Microsoft, non-Borland: */
# define ACE_Proper_Export_Flag _export
# define ACE_Proper_Import_Flag _import
@@ -3113,6 +3113,10 @@ typedef void (*ACE_SignalHandlerV)(...);
# define ACE_SEH_EXCEPT(X) while (0)
# define ACE_SEH_FINALLY if (1)
# endif
+# elif defined (__IBMCPP__) && (__IBMCPP__ >= 400)
+# define ACE_SEH_TRY if (1)
+# define ACE_SEH_EXCEPT(X) while (0)
+# define ACE_SEH_FINALLY if (1)
# else
# define ACE_SEH_TRY __try
# define ACE_SEH_EXCEPT(X) __except(X)
diff --git a/ace/ace-dll.icc b/ace/ace-dll.icc
index 67f5e97e22f..9e30058e5de 100644
--- a/ace/ace-dll.icc
+++ b/ace/ace-dll.icc
@@ -1,5 +1,13 @@
+
if $__TOS_WIN__ {
option PlatformOptions = define ("ACE_HAS_WINSOCK2","1"),
+ define ("_stricmp", "stricmp"),
+ define ("_strnicmp", "strnicmp"),
+ define ("ACE_HAS_WCHAR_TYPEDEFS_CHAR","1"),
+ define ("_O_TEMPORARY", 0x08),
+ define ("_O_CREAT", "O_CREAT"),
+ define ("_O_TRUNC", "O_TRUNC"),
+ define ("_O_EXCL", "O_EXCL"),
define ("WIN32","1"),
define ("_WINDOWS","1")
TARG = "aced.dll"
@@ -12,7 +20,7 @@ if $__TOS_AIX__ {
option
PlatformOptions,
- define ("__ACE_INLINE__","0"),
+// define ("__ACE_INLINE__","0"),
define("ACE_HAS_DLL","0"),
link(exportAll),
link(linkwithsharedlib),
@@ -23,7 +31,239 @@ option
{
option macros(global)
{
- source type(cpp) "OS.h"
+ source type(hpp) 'wcstr.h'
+ source type(hpp)
+ 'Acceptor.h',
+ 'ACE.h',
+ 'Activation_Queue.h',
+ 'Active_Map_Manager.h',
+ 'Active_Map_Manager_T.h',
+ 'Addr.h',
+ 'ARGV.h',
+ 'Arg_Shifter.h',
+ 'Array.h',
+ 'Asynch_Acceptor.h',
+ 'Asynch_IO.h',
+ 'Asynch_IO_Impl.h',
+ 'ATM_Addr.h',
+ 'Auto_Ptr.h',
+ 'Basic_Types.h',
+ 'Cached_Connect_Strategy_T.h',
+ 'Cache_Map_Manager_T.h',
+ 'Caching_Strategies_T.h',
+ 'Caching_Utility_T.h',
+ 'CDR_Stream.h',
+ 'Cleanup_Strategies_T.h',
+ 'Codeset_IBM1047.h',
+ 'config-visualage.h',
+ 'config-win32-common.h',
+ 'config-win32-visualage.h',
+ 'config-win32.h',
+ 'config.h',
+ 'Connector.h',
+ 'Containers.h',
+ 'Containers_T.h',
+ 'CORBA_Handler.h',
+ 'CORBA_macros.h',
+ 'CORBA_Ref.h',
+ 'Date_Time.h',
+ 'DEV.h',
+ 'DEV_Addr.h',
+ 'DEV_Connector.h',
+ 'DEV_IO.h',
+ 'Dirent.h',
+ 'DLL.h',
+ 'Dump.h',
+ 'Dump_T.h',
+ 'Dynamic.h',
+ 'Dynamic_Service.h',
+ 'Env_Value_T.h',
+ 'Event_Handler.h',
+ 'Event_Handler_T.h',
+ 'FIFO.h',
+ 'FIFO_Recv.h',
+ 'FIFO_Recv_Msg.h',
+ 'FIFO_Send.h',
+ 'FIFO_Send_Msg.h',
+ 'FILE.h',
+ 'Filecache.h',
+ 'FILE_Addr.h',
+ 'FILE_Connector.h',
+ 'FILE_IO.h',
+ 'FlReactor.h',
+ 'Free_List.h',
+ 'Functor.h',
+ 'Functor_T.h',
+ 'Future.h',
+ 'Future_Set.h',
+ 'Get_Opt.h',
+ 'Handle_Gobbler.h',
+ 'Handle_Set.h',
+ 'Hash_Cache_Map_Manager_T.h',
+ 'Hash_Map_Manager.h',
+ 'Hash_Map_Manager_T.h',
+ 'Hash_Map_With_Allocator_T.h',
+ 'High_Res_Timer.h',
+ 'inc_user_config.h',
+ 'INET_Addr.h',
+ 'iosfwd.h',
+ 'IOStream.h',
+ 'IOStream_T.h',
+ 'IO_Cntl_Msg.h',
+ 'IO_SAP.h',
+ 'IPC_SAP.h',
+ 'Local_Name_Space.h',
+ 'Local_Name_Space_T.h',
+ 'Local_Tokens.h',
+ 'LOCK_SOCK_Acceptor.h',
+ 'Log_Msg.h',
+ 'Log_Priority.h',
+ 'Log_Record.h',
+ 'LSOCK.h',
+ 'LSOCK_Acceptor.h',
+ 'LSOCK_CODgram.h',
+ 'LSOCK_Connector.h',
+ 'LSOCK_Dgram.h',
+ 'LSOCK_Stream.h',
+ 'Malloc.h',
+ 'Malloc_Base.h',
+ 'Malloc_T.h',
+ 'Managed_Object.h',
+ 'Map.h',
+ 'Map_Manager.h',
+ 'Map_T.h',
+ 'Memory_Pool.h',
+ 'Mem_Map.h',
+ 'Message_Block.h',
+ 'Message_Block_T.h',
+ 'Message_Queue.h',
+ 'Message_Queue_T.h',
+ 'Method_Object.h',
+ 'Method_Request.h',
+ 'Module.h',
+ 'Msg_WFMO_Reactor.h',
+ 'Multiplexor.h',
+ 'Name_Proxy.h',
+ 'Name_Request_Reply.h',
+ 'Name_Space.h',
+ 'Naming_Context.h',
+ 'NT_Service.h',
+ 'Object_Manager.h',
+ 'Obstack.h',
+ "OS.h",
+ 'Pair.h',
+ 'Pair_T.h',
+ 'Parse_Node.h',
+ 'Pipe.h',
+ 'POSIX_Asynch_IO.h',
+ 'POSIX_Proactor.h',
+ 'Priority_Reactor.h',
+ 'Proactor.h',
+ 'Proactor_Impl.h',
+ 'Process.h',
+ 'Process_Manager.h',
+ 'Profile_Timer.h',
+ 'RB_Tree.h',
+ 'Reactor.h',
+ 'Reactor_Impl.h',
+ 'Read_Buffer.h',
+ 'Registry.h',
+ 'Registry_Name_Space.h',
+ 'Remote_Name_Space.h',
+ 'Remote_Tokens.h',
+ 'Sched_Params.h',
+ 'Select_Reactor.h',
+ 'Select_Reactor_Base.h',
+ 'Select_Reactor_T.h',
+ 'Service_Config.h',
+ 'Service_Manager.h',
+ 'Service_Object.h',
+ 'Service_Repository.h',
+ 'Service_Types.h',
+ 'Shared_Memory.h',
+ 'Shared_Memory_MM.h',
+ 'Shared_Memory_SV.h',
+ 'Shared_Object.h',
+ 'Signal.h',
+ 'Singleton.h',
+ 'SOCK.h',
+ 'SOCK_Acceptor.h',
+ 'SOCK_CODgram.h',
+ 'SOCK_Connector.h',
+ 'SOCK_Dgram.h',
+ 'SOCK_Dgram_Bcast.h',
+ 'SOCK_Dgram_Mcast.h',
+ 'SOCK_IO.h',
+ 'SOCK_Stream.h',
+ 'SPIPE.h',
+ 'SPIPE_Acceptor.h',
+ 'SPIPE_Addr.h',
+ 'SPIPE_Connector.h',
+ 'SPIPE_Stream.h',
+ 'SString.h',
+ 'Stats.h',
+ 'Strategies.h',
+ 'Strategies_T.h',
+ 'Stream.h',
+ 'streams.h',
+ 'Stream_Modules.h',
+ 'Svc_Conf.h',
+ 'Svc_Conf_Tokens.h',
+ 'Svc_Handler.h',
+ 'SV_Message.h',
+ 'SV_Message_Queue.h',
+ 'SV_Semaphore_Complex.h',
+ 'SV_Semaphore_Simple.h',
+ 'SV_Shared_Memory.h',
+ 'Synch.h',
+ 'Synch_Options.h',
+ 'Synch_T.h',
+ 'System_Time.h',
+ 'Task.h',
+ 'Task_T.h',
+ 'Thread.h',
+ 'Thread_Manager.h',
+ 'Timeprobe.h',
+ 'Timeprobe_T.h',
+ 'Timer_Hash.h',
+ 'Timer_Hash_T.h',
+ 'Timer_Heap.h',
+ 'Timer_Heap_T.h',
+ 'Timer_List.h',
+ 'Timer_List_T.h',
+ 'Timer_Queue.h',
+ 'Timer_Queue_Adapters.h',
+ 'Timer_Queue_T.h',
+ 'Timer_Wheel.h',
+ 'Timer_Wheel_T.h',
+ 'Time_Request_Reply.h',
+ 'Time_Value.h',
+ 'TkReactor.h',
+ 'TLI.h',
+ 'TLI_Acceptor.h',
+ 'TLI_Connector.h',
+ 'TLI_Stream.h',
+ 'Token.h',
+ 'Token_Collection.h',
+ 'Token_Invariants.h',
+ 'Token_Manager.h',
+ 'Token_Request_Reply.h',
+ 'TP_Reactor.h',
+ 'Trace.h',
+ 'TTY_IO.h',
+ 'Typed_SV_Message.h',
+ 'Typed_SV_Message_Queue.h',
+ 'UNIX_Addr.h',
+ 'UPIPE_Acceptor.h',
+ 'UPIPE_Addr.h',
+ 'UPIPE_Connector.h',
+ 'UPIPE_Stream.h',
+ 'Version.h',
+ 'WFMO_Reactor.h',
+ 'WIN32_Asynch_IO.h',
+ 'WIN32_Proactor.h',
+ 'ws2tcpip.h',
+ 'XtReactor.h'
}
source type(cpp) "Log_Msg.cpp"
source type(cpp) "ACE.cpp"
@@ -50,7 +290,6 @@ option
source type(cpp) "Dynamic.cpp"
source type(cpp) "Dynamic_Service.cpp"
source type(cpp) "Event_Handler.cpp"
- source type(cpp) "Event_Handler_T.cpp"
source type(cpp) "FIFO.cpp"
source type(cpp) "FIFO_Recv.cpp"
source type(cpp) "FIFO_Recv_Msg.cpp"
@@ -150,7 +389,6 @@ option
source type(cpp) "SV_Shared_Memory.cpp"
source type(cpp) "Svc_Conf_l.cpp"
source type(cpp) "Svc_Conf_y.cpp"
- source type(cpp) "Svc_Handler.cpp"
source type(cpp) "Synch.cpp"
source type(cpp) "Synch_Options.cpp"
source type(cpp) "System_Time.cpp"
@@ -187,74 +425,6 @@ option
source type(cpp) "WIN32_Asynch_IO.cpp"
source type(cpp) "WIN32_Proactor.cpp"
source type(cpp) "XtReactor.cpp"
- source type(cpp) "Active_Map_Manager_T.cpp"
- source type(cpp) "Containers_T.cpp"
- source type(cpp) "Dump_T.cpp"
- source type(cpp) "Env_Value_T.cpp"
- source type(cpp) "Event_Handler_T.cpp"
- source type(cpp) "Functor_T.cpp"
- source type(cpp) "Hash_Map_Manager_T.cpp"
- source type(cpp) "IOStream_T.cpp"
- source type(cpp) "Local_Name_Space_T.cpp"
- source type(cpp) "Malloc_T.cpp"
- source type(cpp) "Map_T.cpp"
- source type(cpp) "Message_Block_T.cpp"
- source type(cpp) "Message_Queue_T.cpp"
- source type(cpp) "Pair_T.cpp"
- source type(cpp) "Select_Reactor_T.cpp"
- source type(cpp) "Strategies_T.cpp"
- source type(cpp) "Synch_T.cpp"
- source type(cpp) "Task_T.cpp"
- source type(cpp) "Timeprobe_T.cpp"
- source type(cpp) "Timer_Hash_T.cpp"
- source type(cpp) "Timer_Heap_T.cpp"
- source type(cpp) "Timer_List_T.cpp"
- source type(cpp) "Timer_Queue_T.cpp"
- source type(cpp) "Timer_Wheel_T.cpp"
- // Template implementation files (#pragma implementation)
- source type (cpp) "Acceptor.cpp"
- source type (cpp) "Active_Map_Manager_T.cpp"
- source type (cpp) "Containers.cpp"
- source type (cpp) "Asynch_Acceptor.cpp"
- source type (cpp) "Auto_Ptr.cpp"
- source type (cpp) "CORBA_Ref.cpp"
- source type (cpp) "Connector.cpp"
- source type (cpp) "Containers_T.cpp"
- source type (cpp) "Dump_T.cpp"
- source type (cpp) "Env_Value_T.cpp"
- source type (cpp) "Event_Handler_T.cpp"
- source type (cpp) "Free_List.cpp"
- source type (cpp) "Functor_T.cpp"
- source type (cpp) "Future.cpp"
- source type (cpp) "Hash_Map_Manager_T.cpp"
- source type (cpp) "IOStream_T.cpp"
- source type (cpp) "LOCK_SOCK_Acceptor.cpp"
- source type (cpp) "Local_Name_Space_T.cpp"
- source type (cpp) "Malloc_T.cpp"
- source type (cpp) "Managed_Object.cpp"
- source type (cpp) "Map_Manager.cpp"
- source type (cpp) "Map_T.cpp"
- source type (cpp) "Message_Block_T.cpp"
- source type (cpp) "Message_Queue_T.cpp"
- source type (cpp) "Module.cpp"
- source type (cpp) "Pair_T.cpp"
- source type (cpp) "RB_Tree.cpp"
- source type (cpp) "Select_Reactor_T.cpp"
- source type (cpp) "Singleton.cpp"
- source type (cpp) "Strategies_T.cpp"
- source type (cpp) "Stream.cpp"
- source type (cpp) "Stream_Modules.cpp"
- source type (cpp) "Svc_Handler.cpp"
- source type (cpp) "Synch_T.cpp"
- source type (cpp) "Task_T.cpp"
- source type (cpp) "Timeprobe_T.cpp"
- source type (cpp) "Timer_Hash_T.cpp"
- source type (cpp) "Timer_Heap_T.cpp"
- source type (cpp) "Timer_List_T.cpp"
- source type (cpp) "Timer_Queue_T.cpp"
- source type (cpp) "Timer_Wheel_T.cpp"
- source type (cpp) "Typed_SV_Message.cpp"
- source type (cpp) "Typed_SV_Message_Queue.cpp"
// Libraries needed during linking
if $__TOS_WIN__ {
diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h
index bae9a62df5c..0e62617d71f 100644
--- a/ace/config-win32-common.h
+++ b/ace/config-win32-common.h
@@ -264,7 +264,7 @@ typedef unsigned __int64 ACE_UINT64;
#endif /* _MT */
#endif /* ACE_MT_SAFE && ACE_MT_SAFE != 0 */
-#if !defined (ACE_HAS_WINCE) && !defined (__BORLANDC__)
+#if !defined (ACE_HAS_WINCE) && !defined (__BORLANDC__) !defined (__IBMCPP__)
#if defined(ACE_HAS_DLL) && (ACE_HAS_DLL != 0)
#if !defined(_DLL)
// *** DO NOT *** DO NOT *** defeat this error message
@@ -272,7 +272,7 @@ typedef unsigned __int64 ACE_UINT64;
#error You must link against (Debug) Multithreaded DLL run-time libraries.
#endif /* !_DLL */
#endif /* ACE_HAS_DLL && ACE_HAS_DLL != 0 */
-#endif /* !ACE_HAS_WINCE && !__BORLANDC__ */
+#endif /* !ACE_HAS_WINCE && !__BORLANDC__ && !__IBMCPP__ */
// We are using STL's min and max (in algobase.h). Therefore the
// macros in window.h are extra