summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjp4 <jp4@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-05 22:32:36 +0000
committerjp4 <jp4@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-05 22:32:36 +0000
commit17784a3ddbaf8fdb58974dcddc5b3b3af9d9cb67 (patch)
treec42d56ede132866cb80d1a6fb5d64dc1e0858ab2
parent04e5aa9e4cc8526efc8d92182d0bb033ae290fcb (diff)
downloadATCD-17784a3ddbaf8fdb58974dcddc5b3b3af9d9cb67.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c10
-rw-r--r--TAO/tao/DynUnion_i.cpp5
-rw-r--r--TAO/tao/DynUnion_i_T.cpp10
3 files changed, 15 insertions, 10 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 2c84ceb11bf..029b7eb4859 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,13 @@
+Mon Oct 5 17:29:14 1998 Jeff Parsons <jp4@cs.wustl.edu>
+
+ * tao/DynUnion_i.cpp:
+ * tao/DynUnion_i_T.cpp:
+ Put a preprocessor conditional around the case that
+ instantiates the longlong type of template class
+ in get_extractor(). Because of this, the memcmp in
+ DynUnion_i_T.cpp has been removed - no need for it
+ now and VxWorks and Chorus should still be happy.
+
Mon Oct 05 16:39:44 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tao/corba.h: Removed duplicated macro definitions that are
diff --git a/TAO/tao/DynUnion_i.cpp b/TAO/tao/DynUnion_i.cpp
index e75a62e647c..206bc6011e9 100644
--- a/TAO/tao/DynUnion_i.cpp
+++ b/TAO/tao/DynUnion_i.cpp
@@ -1292,11 +1292,16 @@ TAO_DynUnion_i::get_extractor (CORBA::TCKind kind,
CORBA::NO_MEMORY (CORBA::COMPLETED_NO),
0);
return retval;
+
+// For Chorus and VxWorks
+#if !defined (ACE_LACKS_LONGLONG_T)
case CORBA::tk_longlong:
ACE_NEW_THROW_RETURN (retval,
::DU_Extractor<CORBA::LongLong>,
CORBA::NO_MEMORY (CORBA::COMPLETED_NO),
0);
+#endif /* ACE_LACKS_LONGLONG_T */
+
return retval;
case CORBA::tk_ulonglong:
ACE_NEW_THROW_RETURN (retval,
diff --git a/TAO/tao/DynUnion_i_T.cpp b/TAO/tao/DynUnion_i_T.cpp
index 1acc92fd2bb..05f13314d89 100644
--- a/TAO/tao/DynUnion_i_T.cpp
+++ b/TAO/tao/DynUnion_i_T.cpp
@@ -29,17 +29,7 @@ DU_Extractor<Type>::check_match (const CORBA_Any& inside_any,
{
inside_any >>= this->member_index_;
outside_any >>= this->arg_index_;
-
-#if defined (ACE_LACKS_LONGLONG_T)
- // Oh, this is ugly. But, it's the only way I can think of
- // to satisfy instantiations of CORBA::LongLong as well as
- // all other (native) types.
- return ! ACE_OS::memcmp (&this->member_index_,
- &this->arg_index_,
- sizeof (Type));
-#else /* ! ACE_LACKS_LONGLONG_T */
return this->member_index_ == this->arg_index_;
-#endif /* ! ACE_LACKS_LONGLONG_T */
}
#endif /* TAO_DYNUNION_I_T_C */