summaryrefslogtreecommitdiff
path: root/TAO/tao/ORB_Core.i
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-08-13 23:04:29 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-08-13 23:04:29 +0000
commit1d69a258433838bb689e31df3c8cadcc80b3885d (patch)
treeb2b2704ddf63408c6fa6da80e7a1717d07d98984 /TAO/tao/ORB_Core.i
parent38ad8dd28dc9816c1135fd1e47fd840407a69787 (diff)
downloadATCD-1d69a258433838bb689e31df3c8cadcc80b3885d.tar.gz
(hash_i): suppress the specialization with non-egcs g++
Diffstat (limited to 'TAO/tao/ORB_Core.i')
-rw-r--r--TAO/tao/ORB_Core.i8
1 files changed, 4 insertions, 4 deletions
diff --git a/TAO/tao/ORB_Core.i b/TAO/tao/ORB_Core.i
index 88ce0bcf8b2..5fd74ca3b58 100644
--- a/TAO/tao/ORB_Core.i
+++ b/TAO/tao/ORB_Core.i
@@ -134,9 +134,10 @@ TAO_ORB_Core::using_collocation (CORBA::Boolean use_col)
}
// Template specializations that allow the cached connection manager
-// to work better.
+// to work better. Older versions of g++, such as 2.7.2.3, can't
+// deal with them, though.
-#if defined (ACE_HAS_TEMPLATE_SPECIALIZATION)
+#if defined (ACE_HAS_TEMPLATE_SPECIALIZATION) && (!defined (__GNUG__) || (__GNUC__ > 2 || __GNUC_MINOR__ >= 90))
# if defined (__ACE_INLINE__) || (!defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) && !defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA))
ACE_INLINE size_t
ACE_Hash_Addr<ACE_INET_Addr>::hash_i (const ACE_INET_Addr &addr) const
@@ -144,7 +145,7 @@ ACE_Hash_Addr<ACE_INET_Addr>::hash_i (const ACE_INET_Addr &addr) const
return addr.get_ip_address () + addr.get_port_number ();
}
# endif /* __ACE_INLINE__ */
-#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION */
+#endif /* ACE_HAS_TEMPLATE_SPECIALIZATION && egcs, if __GNUG__ */
ACE_INLINE ACE_Allocator*
TAO_ORB_Core::data_block_allocator (void)
@@ -157,4 +158,3 @@ TAO_ORB_Core::cdr_buffer_allocator (void)
{
return &this->cdr_buffer_allocator_;
}
-