diff options
-rw-r--r-- | ChangeLog-99b | 48 | ||||
-rw-r--r-- | ace/ACE.cpp | 1 | ||||
-rw-r--r-- | ace/Basic_Types.h | 8 | ||||
-rw-r--r-- | ace/CDR_Stream.cpp | 10 | ||||
-rw-r--r-- | ace/CDR_Stream.h | 12 | ||||
-rw-r--r-- | ace/OS.h | 13 | ||||
-rw-r--r-- | ace/OS.i | 20 | ||||
-rw-r--r-- | ace/SOCK_Dgram_Bcast.cpp | 163 | ||||
-rw-r--r-- | ace/config-cray.h | 9 | ||||
-rw-r--r-- | include/makeinclude/platform_cray.GNU | 27 | ||||
-rw-r--r-- | include/makeinclude/platform_tru64_g++.GNU | 30 | ||||
-rw-r--r-- | tests/Basic_Types_Test.cpp | 8 | ||||
-rw-r--r-- | tests/Handle_Set_Test.cpp | 10 |
13 files changed, 187 insertions, 172 deletions
diff --git a/ChangeLog-99b b/ChangeLog-99b index 0e3f95167d7..08385fc1e79 100644 --- a/ChangeLog-99b +++ b/ChangeLog-99b @@ -1,21 +1,39 @@ +Mon Jul 19 21:13:16 1999 Doug Anderson <doug@clark.net> + + * ace/ACE.cpp,ace/Basic_Types.h,ace/CDR_Stream.{h,cpp}, + ace/SOCK_Dgram_Bcast.cpp,ace/config-cray.h, + tests/Basic_Types_Test.cpp,tests/Handle_Set_Test.cpp, + include/makeinclude/platform_cray.GNU + + I finally managed to get the latest and greatest to work on + the Cray. Still no CDR support, but that will be post 5.0. + + * ace/OS.{h,i}: added support for egcs on Digital Unix (4.0d & e). + Fixe problem with legacy workarounds in OS.* for sigwait() and + cxx/GNU that don't appear to be necessary on 4.0d/e/f with + neither cxx nor GNU. + + * include/makeinclude/platform_tru64_g++.GNU: added. Works + with ace/config-tru64.h. + Mon Jul 19 19:46:50 1999 Irfan Pyarali <irfan@cs.wustl.edu> - * ace/OS.h: Added ACE_*_cast_*_ptr and ACE_*_cast_*_ref for const, - static, and reinterpret casts. + * ace/OS.h: Added ACE_*_cast_*_ptr and ACE_*_cast_*_ref for const, + static, and reinterpret casts. - * ace/Strategies_T.cpp (find): - * ace/Cached_Connect_Strategy_T.cpp (find): + * ace/Strategies_T.cpp (find): + * ace/Cached_Connect_Strategy_T.cpp (find): The comparison should be between ACE_PEER_CONNECTOR_ADDR and not - REFCOUNTED_HASH_RECYCLABLE_ADDRESS. + REFCOUNTED_HASH_RECYCLABLE_ADDRESS. - * ace/Svc_Handler: Changed <state> to <recycle_state>. <state> - was too generic and in some cases a <state> method was already - present in classes deriving from Svc_Handler. + * ace/Svc_Handler: Changed <state> to <recycle_state>. <state> + was too generic and in some cases a <state> method was already + present in classes deriving from Svc_Handler. - Also, added a <recycle_state> accessor. + Also, added a <recycle_state> accessor. - The following files were effected: + The following files were effected: - ace/Cached_Connect_Strategy_T.cpp - ace/Cached_Connect_Strategy_T.h @@ -25,14 +43,14 @@ Mon Jul 19 19:46:50 1999 Irfan Pyarali <irfan@cs.wustl.edu> - ace/Strategies_T.cpp - ace/Strategies_T.h - ace/Strategies_T.i - - tests/Cached_Accept_Conn_Test.cpp - - tests/Cached_Conn_Test.cpp + - tests/Cached_Accept_Conn_Test.cpp + - tests/Cached_Conn_Test.cpp Mon Jul 19 20:08:15 1999 Carlos O'Ryan <coryan@cs.wustl.edu> - * ace/Strategies_T.cpp: - Fixed lookup of connections in the Cached_Connect_Strategy, - thanks to Irfan for providing this fix. + * ace/Strategies_T.cpp: + Fixed lookup of connections in the Cached_Connect_Strategy, + thanks to Irfan for providing this fix. Mon Jul 19 12:26:20 1999 David L. Levine <levine@cs.wustl.edu> diff --git a/ace/ACE.cpp b/ace/ACE.cpp index 3874cec0d45..6a71340f649 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -2851,7 +2851,6 @@ ACE::get_bcast_addr (ACE_UINT32 &bcast_addr, { ACE_UINT64 haddr; // a place to put the address char * haddrp = (char *) &haddr; // convert to char pointer - haddr += 4; // adjust within the word ACE_OS::memcpy(haddrp,(char *) hp->h_addr,hp->h_length); ip_addr.sin_addr.s_addr = haddr; } diff --git a/ace/Basic_Types.h b/ace/Basic_Types.h index 723fd19c259..cc4530c8b13 100644 --- a/ace/Basic_Types.h +++ b/ace/Basic_Types.h @@ -165,10 +165,10 @@ # elif (ACE_SIZEOF_SHORT) == 4 && defined(_CRAYMPP) // mpp cray - uses Alpha processors // Use the real 32-bit quantity for ACE_INT32's, and use a "long" - // for shorts. This gets around conflicts with size_t in some ACE + // for ACE_INT16's. This gets around conflicts with size_t in some ACE // method signatures, among other things. - typedef short ACE_INT16; - typedef unsigned short ACE_UINT16; + typedef long ACE_INT16; + typedef unsigned long ACE_UINT16; typedef short ACE_INT32; typedef unsigned short ACE_UINT32; # elif (ACE_SIZEOF_SHORT) == 8 && defined(_UNICOS) @@ -196,7 +196,7 @@ typedef ACE_UINT16 ACE_USHORT16; typedef int ACE_INT32; typedef unsigned int ACE_UINT32; # endif - typedef unsigned long ACE_UINT64; + typedef unsigned long long ACE_UINT64; # else # error Have to add to the ACE_UINT32 type setting # endif diff --git a/ace/CDR_Stream.cpp b/ace/CDR_Stream.cpp index 6af2532f383..e64d13b2791 100644 --- a/ace/CDR_Stream.cpp +++ b/ace/CDR_Stream.cpp @@ -85,20 +85,20 @@ ACE_CDR::LongDouble::operator!= (const ACE_CDR::LongDouble &rhs) const } #endif /* NONNATIVE_LONGDOUBLE */ -#if defined(_UNICOS) +#if defined(_UNICOS) && !defined(_CRAYMPP) // placeholders to get things compiling ACE_CDR::Float::Float() { } -ACE_CDR::Float::Float(const float & init)) +ACE_CDR::Float::Float(const float & init) { } -float -ACE_CDR::Float::operator= (const ACE_CDR::Float &rhs) const +ACE_CDR::Float & +ACE_CDR::Float::operator= (const float &rhs) { - return 0.0f; + return *this; } int diff --git a/ace/CDR_Stream.h b/ace/CDR_Stream.h index fecf55d2fc6..13dad9d7ab5 100644 --- a/ace/CDR_Stream.h +++ b/ace/CDR_Stream.h @@ -143,7 +143,7 @@ public: # if (defined (_MSC_VER) && (_MSC_VER >= 900)) \ || (defined (__BORLANDC__) && (__BORLANDC__ >= 0x530)) typedef __int64 LongLong; - # elif ACE_SIZEOF_LONG == 8 + # elif ACE_SIZEOF_LONG == 8 && !defined(_CRAYMPP) typedef long LongLong; # elif ACE_SIZEOF_LONG_LONG == 8 && !defined (ACE_LACKS_LONGLONG_T) # if defined (sun) && !defined (ACE_LACKS_U_LONGLONG_T) && !defined (__KCC) @@ -179,11 +179,11 @@ public: # else /* ACE_SIZEOF_INT != 4 */ // Applications will probably have trouble with this. char f[4]; - # if defined(_UNICOS) - Float (void); - Float (const float &init); - float operator= (const Float &rhs) const; - int operator!= (const Float &rhs) const; + # if defined(_UNICOS) && !defined(_CRAYMPP) + Float (void); + Float (const float &init); + Float & operator= (const float &rhs); + int operator!= (const Float &rhs) const; # endif /* _UNICOS */ # endif /* ACE_SIZEOF_INT != 4 */ }; @@ -3697,18 +3697,7 @@ typedef void (*__sighandler_t)(int); // keep Signal compilation happy extern int t_errno; # endif /* ACE_LACKS_T_ERRNO */ -# if defined (DIGITAL_UNIX) - // sigwait is yet another macro on Digital UNIX 4.0, just causing - // trouble when introducing member functions with the same name. - // Thanks to Thilo Kielmann" <kielmann@informatik.uni-siegen.de> for - // this fix. -# undef sigwait -# if defined (__DECCXX_VER) - // cxx on Digital Unix 4.0 needs this declaration. With it, - // ::_Psigwait () works with cxx -pthread. g++ does _not_ need it. - extern "C" int _Psigwait __((const sigset_t *set, int *sig)); -# endif /* __DECCXX_VER */ -# elif !defined (ACE_HAS_SIGWAIT) +# if !defined(DIGITAL_UNIX) && !defined (ACE_HAS_SIGWAIT) extern "C" int sigwait (sigset_t *set); # endif /* ! DIGITAL_UNIX && ! ACE_HAS_SIGWAIT */ @@ -6753,20 +6753,8 @@ ACE_OS::sigwait (sigset_t *set, int *sig) // signal number is returned). *sig = ::sigwait (set, 0); return *sig; -# elif defined (DIGITAL_UNIX) -# if defined (__DECCXX_VER) - // DEC cxx (but not g++) needs this direct call to its internal - // sigwait (). This allows us to #undef sigwait, so that we can - // have ACE_OS::sigwait. cxx gets confused by ACE_OS::sigwait if - // sigwait is _not_ #undef'ed. - errno = ::_Psigwait (set, sig); - return errno == 0 ? *sig : -1; -# else /* g++, for example, on DIGITAL_UNIX */ - *sig = ::__sigwaitd10 (set, sig); - return errno == 0 ? *sig : -1; -# endif /* g++, for example, on DIGITAL_UNIX */ -# else /* ! __Lynx __ && ! DIGITAL_UNIX */ -# if (defined (ACE_HAS_PTHREADS_DRAFT4) || defined (ACE_HAS_PTHREADS_DRAFT6)) && !defined(ACE_HAS_FSU_PTHREADS) +# else /* ! __Lynx __ */ +# if (defined (ACE_HAS_PTHREADS_DRAFT4) || (defined (ACE_HAS_PTHREADS_DRAFT6)) && !defined(ACE_HAS_FSU_PTHREADS)) || (_UNICOS == 9) *sig = ::sigwait (set); return *sig; # elif defined(ACE_HAS_FSU_PTHREADS) @@ -6775,7 +6763,7 @@ ACE_OS::sigwait (sigset_t *set, int *sig) errno = ::sigwait (set, sig); return errno == 0 ? *sig : -1; # endif /* ACE_HAS_PTHREADS_DRAFT4, 6 */ -# endif /* ! __Lynx__ && ! (DIGITAL_UNIX && __DECCXX_VER) */ +# endif /* ! __Lynx__ */ # elif defined (ACE_HAS_WTHREADS) ACE_UNUSED_ARG (set); ACE_NOTSUP_RETURN (-1); @@ -6841,7 +6829,7 @@ ACE_OS::thr_sigsetmask (int how, // Draft 4 and 6 implementations will sometimes have a sigprocmask () that // modifies the calling thread's mask only. If this is not so for your // platform, define ACE_LACKS_PTHREAD_THR_SIGSETMASK. -# elif defined(ACE_HAS_PTHREADS_DRAFT4) || defined (ACE_HAS_PTHREADS_DRAFT6) +# elif defined(ACE_HAS_PTHREADS_DRAFT4) || defined (ACE_HAS_PTHREADS_DRAFT6) || (_UNICOS == 9) ACE_OSCALL_RETURN (::sigprocmask (how, nsm, osm), int, -1); # else ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_sigmask (how, nsm, osm), diff --git a/ace/SOCK_Dgram_Bcast.cpp b/ace/SOCK_Dgram_Bcast.cpp index 061ab9f669d..833e89ff404 100644 --- a/ace/SOCK_Dgram_Bcast.cpp +++ b/ace/SOCK_Dgram_Bcast.cpp @@ -1,7 +1,5 @@ -// SOCK_Dgram_Bcast.cpp // $Id$ - #define ACE_BUILD_DLL #include "ace/SOCK_Dgram_Bcast.h" @@ -14,8 +12,8 @@ ACE_RCSID(ace, SOCK_Dgram_Bcast, "$Id$") ACE_ALLOC_HOOK_DEFINE(ACE_SOCK_Dgram_Bcast) ACE_Bcast_Node::ACE_Bcast_Node (ACE_INET_Addr &addr, - ACE_Bcast_Node *next) - : bcast_addr_ (addr), + ACE_Bcast_Node *next) + : bcast_addr_ (addr), next_ (next) { ACE_TRACE ("ACE_Bcast_Node::ACE_Bcast_Node"); @@ -60,12 +58,12 @@ ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast (void) // Here's the general-purpose constructor used by a connectionless // datagram ``server''... -ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast (const ACE_Addr &local, - int protocol_family, - int protocol, - int reuse_addr, +ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast (const ACE_Addr &local, + int protocol_family, + int protocol, + int reuse_addr, const ASYS_TCHAR *host_name) - : ACE_SOCK_Dgram (local, protocol_family, protocol, reuse_addr), + : ACE_SOCK_Dgram (local, protocol_family, protocol, reuse_addr), if_list_ (0) { ACE_TRACE ("ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast"); @@ -79,16 +77,16 @@ ACE_SOCK_Dgram_Bcast::ACE_SOCK_Dgram_Bcast (const ACE_Addr &local, // Here's the general-purpose open routine. int -ACE_SOCK_Dgram_Bcast::open (const ACE_Addr &local, - int protocol_family, - int protocol, - int reuse_addr, +ACE_SOCK_Dgram_Bcast::open (const ACE_Addr &local, + int protocol_family, + int protocol, + int reuse_addr, const ASYS_TCHAR *host_name) { ACE_TRACE ("ACE_SOCK_Dgram_Bcast::open"); - if (this->ACE_SOCK_Dgram::open (local, protocol_family, - protocol, reuse_addr) == -1) + if (this->ACE_SOCK_Dgram::open (local, protocol_family, + protocol, reuse_addr) == -1) return -1; return this->mk_broadcast (host_name); @@ -105,8 +103,8 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ASYS_TCHAR *host_name) if (ACE_OS::setsockopt (this->get_handle (), SOL_SOCKET, - SO_BROADCAST, - (char *) &one, + SO_BROADCAST, + (char *) &one, sizeof one) == -1) return -1; @@ -124,9 +122,9 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ASYS_TCHAR *host_name) if (ACE_OS::ioctl (s, SIOCGIFCONF, (char *) &ifc) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", - "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface configuration)"), - ACE_INVALID_HANDLE); + ACE_ERROR_RETURN ((LM_ERROR, "%p\n", + "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface configuration)"), + ACE_INVALID_HANDLE); struct ifreq *ifr = ifc.ifc_req; @@ -138,44 +136,43 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ASYS_TCHAR *host_name) hostent *hp = ACE_OS::gethostbyname (ASYS_MULTIBYTE_STRING (host_name)); if (hp == 0) - return -1; + return -1; else -#if !defined(_UNICOS) - ACE_OS::memcpy ((char *) &host_addr.sin_addr.s_addr, - (char *) hp->h_addr, - hp->h_length); -#else /* _UNICOS */ +#if defined(_UNICOS) { ACE_UINT64 haddr; // a place to put the address char * haddrp = (char *) &haddr; // convert to char pointer - haddr += 4; // adjust within the word ACE_OS::memcpy(haddrp,(char *) hp->h_addr,hp->h_length); host_addr.sin_addr.s_addr = haddr; } +#else /* ! _UNICOS */ + ACE_OS::memcpy ((char *) &host_addr.sin_addr.s_addr, + (char *) hp->h_addr, + hp->h_length); #endif /* ! _UNICOS */ } - for (int n = ifc.ifc_len / sizeof (struct ifreq) ; n > 0; n--, ifr++) + for (int n = ifc.ifc_len / sizeof (struct ifreq) ; n > 0; n--, ifr++) { // Compare host ip address with interface ip address. if (host_name) { - struct sockaddr_in if_addr; + struct sockaddr_in if_addr; ACE_OS::memcpy (&if_addr, &ifr->ifr_addr, sizeof if_addr); if (host_addr.sin_addr.s_addr != if_addr.sin_addr.s_addr) - continue; + continue; } - if (ifr->ifr_addr.sa_family != AF_INET) - { - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE_SOCK_Dgram_Bcast::mk_broadcast: Not AF_INET")); - continue; - } + if (ifr->ifr_addr.sa_family != AF_INET) + { + ACE_ERROR ((LM_ERROR, "%p\n", + "ACE_SOCK_Dgram_Bcast::mk_broadcast: Not AF_INET")); + continue; + } struct ifreq flags = *ifr; struct ifreq if_req = *ifr; @@ -183,46 +180,46 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ASYS_TCHAR *host_name) if (ACE_OS::ioctl (s, SIOCGIFFLAGS, (char *) &flags) == -1) - { - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface flags)")); - continue; - } + { + ACE_ERROR ((LM_ERROR, "%p\n", + "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface flags)")); + continue; + } if (ACE_BIT_ENABLED (flags.ifr_flags, IFF_UP) == 0) - { - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE_SOCK_Dgram_Bcast::mk_broadcast: Network interface is not up")); - continue; - } + { + ACE_ERROR ((LM_ERROR, "%p\n", + "ACE_SOCK_Dgram_Bcast::mk_broadcast: Network interface is not up")); + continue; + } if (ACE_BIT_ENABLED (flags.ifr_flags, IFF_LOOPBACK)) - continue; + continue; if (ACE_BIT_ENABLED (flags.ifr_flags, IFF_BROADCAST)) - { - if (ACE_OS::ioctl (s, + { + if (ACE_OS::ioctl (s, SIOCGIFBRDADDR, (char *) &if_req) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get broadaddr)")); - else - { - ACE_INET_Addr addr (ACE_reinterpret_cast (sockaddr_in *, + ACE_ERROR ((LM_ERROR, "%p\n", + "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get broadaddr)")); + else + { + ACE_INET_Addr addr (ACE_reinterpret_cast (sockaddr_in *, &if_req.ifr_broadaddr), sizeof if_req.ifr_broadaddr); - ACE_NEW_RETURN (this->if_list_, + ACE_NEW_RETURN (this->if_list_, ACE_Bcast_Node (addr, this->if_list_), -1); - } - } - else - ACE_ERROR ((LM_ERROR, "%p\n", - "ACE_SOCK_Dgram_Bcast::mk_broadcast: Broadcast is not enable for this interface.")); + } + } + else + ACE_ERROR ((LM_ERROR, "%p\n", + "ACE_SOCK_Dgram_Bcast::mk_broadcast: Broadcast is not enable for this interface.")); } #else ACE_UNUSED_ARG (host_name); @@ -241,16 +238,16 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ASYS_TCHAR *host_name) // number of bytes sent. ssize_t -ACE_SOCK_Dgram_Bcast::send (const void *buf, - size_t n, - u_short port_number, - int flags) const +ACE_SOCK_Dgram_Bcast::send (const void *buf, + size_t n, + u_short port_number, + int flags) const { ACE_TRACE ("ACE_SOCK_Dgram_Bcast::send"); size_t iterations = 0; ssize_t total_bytes = 0; - if (this->if_list_ == 0) + if (this->if_list_ == 0) return -1; for (ACE_Bcast_Node *temp = this->if_list_; @@ -259,16 +256,16 @@ ACE_SOCK_Dgram_Bcast::send (const void *buf, { temp->bcast_addr_.set_port_number (port_number); - ssize_t bytes_sent = ACE_SOCK_Dgram::send (buf, - n, - temp->bcast_addr_, - flags); + ssize_t bytes_sent = ACE_SOCK_Dgram::send (buf, + n, + temp->bcast_addr_, + flags); if (bytes_sent == -1) - return -1; - else - total_bytes += bytes_sent; - + return -1; + else + total_bytes += bytes_sent; + iterations++; } @@ -279,21 +276,21 @@ ACE_SOCK_Dgram_Bcast::send (const void *buf, // Broadcast datagram to every interfaces. ssize_t -ACE_SOCK_Dgram_Bcast::send (const iovec iov[], - size_t n, - u_short /* port_number */, - int flags) const +ACE_SOCK_Dgram_Bcast::send (const iovec iov[], + size_t n, + u_short /* port_number */, + int flags) const { ACE_TRACE ("ACE_SOCK_Dgram_Bcast::send"); if (this->if_list_ == 0) return -1; - + // Send the message to every interface. for (ACE_Bcast_Node *temp = this->if_list_; temp != 0; - temp++) + temp++) if (ACE_SOCK_Dgram::send (iov, n, temp->bcast_addr_, @@ -307,10 +304,10 @@ ACE_SOCK_Dgram_Bcast::send (const iovec iov[], // must be preassigned to the broadcast address of the subnet...). ssize_t -ACE_SOCK_Dgram_Bcast::send (const iovec iov[], - size_t n, - const ACE_Addr &addr, - int flags) const +ACE_SOCK_Dgram_Bcast::send (const iovec iov[], + size_t n, + const ACE_Addr &addr, + int flags) const { ACE_TRACE ("ACE_SOCK_Dgram_Bcast::send"); diff --git a/ace/config-cray.h b/ace/config-cray.h index 50ae3e2336f..e9ab5630593 100644 --- a/ace/config-cray.h +++ b/ace/config-cray.h @@ -23,10 +23,10 @@ _CRAYT3E (defined specifically if compiling on a Cray T3E) _UNICOS (defined if running UNICOS or UNICOS/mk) - Tested on UNICOS 10.0.0.2, UNICOS/mk 2.0.3.10 + Tested on UNICOS 10.0.0.5, UNICOS/mk 2.0.4.57 Compiles on UNICOS 9.0.2.8, but some tests deadlock - Contributed by Doug Anderson <doug@clark.net> + Contributed by Doug Anderson <dla@home.com> */ #if defined (_UNICOS) && !defined (MAXPATHLEN) @@ -78,7 +78,6 @@ # define SCHED_OTHER 0 # define SCHED_FIFO 1 # define SCHED_RR 2 -# define pthread_sigmask sigprocmask #endif #define ACE_HAS_THREAD_SPECIFIC_STORAGE @@ -118,7 +117,9 @@ #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES -#define ACE_HAS_SIGWAIT +#if _UNICOS > 9 +# define ACE_HAS_SIGWAIT +#endif #define ACE_HAS_SIG_ATOMIC_T diff --git a/include/makeinclude/platform_cray.GNU b/include/makeinclude/platform_cray.GNU index 026ded4ba07..a36b6fd3c27 100644 --- a/include/makeinclude/platform_cray.GNU +++ b/include/makeinclude/platform_cray.GNU @@ -1,12 +1,13 @@ # $Id$ -# Initial platform macros for SGI/Cray UNICOS (vector) & UNICOS/mk (mpp) - -# UNICOS 10.0.0.2 -# UNICOS/mk 2.0.3.10 -# Cray C++ Version 3.1.0.0 -# Cray Standard C Version 6.1.0.0 +# Platform macros for SGI/Cray UNICOS (vector) & UNICOS/mk (mpp) - +# UNICOS 9.0.2.8 +# UNICOS 10.0.0.5 +# UNICOS/mk 2.0.4.57 +# Cray C++ Version 3.2.0.1 +# Cray Standard C Version 6.2.0.1 # -# Contributed by Doug Anderson <doug@clark.net> +# Contributed by Doug Anderson <dla@home.com> debug = 1 exceptions = 1 @@ -18,13 +19,13 @@ purify = # C++ prelinker: error: instantiation loop # So, we're using ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION CC = cc -LDLIB += -L$(ACE_ROOT)/ace -CXX = CC -#CFLAGS += -CCFLAGS += -h noautoinstantiate -DCFLAGS += -g -DCCFLAGS += $(DCFLAGS) -OCFLAGS += -O2 +LDLIB += -L$(ACE_ROOT)/ace +CXX = CC +#CFLAGS += +CCFLAGS += -h noautoinstantiate +DCFLAGS += -g +DCCFLAGS += $(DCFLAGS) +OCFLAGS += -O2 OCCFLAGS += $(OCFLAGS) ifndef exceptions diff --git a/include/makeinclude/platform_tru64_g++.GNU b/include/makeinclude/platform_tru64_g++.GNU new file mode 100644 index 00000000000..ef5fea64d5c --- /dev/null +++ b/include/makeinclude/platform_tru64_g++.GNU @@ -0,0 +1,30 @@ +# $Id$ + +# This platform macros file is intended to work with +# Digital UNIX using the GNU 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_g++.GNU + + ifeq (4.0F,$(findstring 4.0F,$(shell /usr/sbin/sizer -v))) + CFLAGS += -DDIGITAL_UNIX=0x40F + 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_g++.GNU + CFLAGS += -DDIGITAL_UNIX=0x500 + +endif # 5.x +endif # ! 4.x +endif # ! 3.x diff --git a/tests/Basic_Types_Test.cpp b/tests/Basic_Types_Test.cpp index de8bf8d898c..437c9df0bbc 100644 --- a/tests/Basic_Types_Test.cpp +++ b/tests/Basic_Types_Test.cpp @@ -118,18 +118,10 @@ main (int, ASYS_TCHAR *[]) errors += check (ASYS_TEXT ("sizeof (ACE_UINT16) is %u%s"), sizeof (ACE_INT16), 2); #else /* ! _UNICOS */ - // MPP Crays have 32 bit shorts, so we use those for 16 bit quantities -# if defined(_CRAYMPP) - errors += check (ASYS_TEXT ("sizeof (ACE_INT16) is %u%s"), - sizeof (ACE_INT16), 4); - errors += check (ASYS_TEXT ("sizeof (ACE_UINT16) is %u%s"), - sizeof (ACE_INT16), 4); -# else errors += check (ASYS_TEXT ("sizeof (ACE_INT16) is %u%s"), sizeof (ACE_INT16), 8); errors += check (ASYS_TEXT ("sizeof (ACE_UINT16) is %u%s"), sizeof (ACE_INT16), 8); -# endif #endif /* ! _UNICOS */ // MPP Crays do have 32-bit quantities (short), though vector Crays don't diff --git a/tests/Handle_Set_Test.cpp b/tests/Handle_Set_Test.cpp index ee4c6c25f7a..7529ae8a9a1 100644 --- a/tests/Handle_Set_Test.cpp +++ b/tests/Handle_Set_Test.cpp @@ -208,13 +208,13 @@ main (int argc, ASYS_TCHAR *argv[]) // The ACE_Node<ACE_INT32> instantation is in ace/Stats.cpp. template class ACE_Unbounded_Set<ACE_HANDLE>; template class ACE_Unbounded_Set_Iterator<ACE_HANDLE>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -// The ACE_Node<ACE_INT32> instantation is in ace/Stats.cpp. -#pragma instantiate ACE_Unbounded_Set<ACE_HANDLE> -#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_HANDLE> # if defined(_CRAYMPP) // MPP Cray ACE_HANDLE is 64-bit, defined as int, but ACE_INT32 is short // so instantiation in ace/Stats.cpp isn't used in this case -#pragma instantiate ACE_Node<ACE_HANDLE> +template class ACE_Node<ACE_HANDLE>; # endif +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +// The ACE_Node<ACE_INT32> instantation is in ace/Stats.cpp. +#pragma instantiate ACE_Unbounded_Set<ACE_HANDLE> +#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_HANDLE> #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |