summaryrefslogtreecommitdiff
path: root/TAO/tests/POA/Loader/Servant_Activator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/POA/Loader/Servant_Activator.cpp')
-rw-r--r--TAO/tests/POA/Loader/Servant_Activator.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/TAO/tests/POA/Loader/Servant_Activator.cpp b/TAO/tests/POA/Loader/Servant_Activator.cpp
index 5bcaf80b63e..1ba1398febc 100644
--- a/TAO/tests/POA/Loader/Servant_Activator.cpp
+++ b/TAO/tests/POA/Loader/Servant_Activator.cpp
@@ -47,7 +47,11 @@ ServantActivator::ServantActivator (CORBA::ORB_ptr orb,
// Cannot go from void* to function pointer directly. Cast the void*
// to long first.
void *symbol = this->dll_.symbol (factory_function);
+#if defined (ACE_OPENVMS) && (!defined (__INITIAL_POINTER_SIZE) || (__INITIAL_POINTER_SIZE < 64))
+ int intptr_t = reinterpret_cast<int> (symbol);
+#else
intptr_t function = reinterpret_cast<intptr_t> (symbol);
+#endif
servant_supplier_ =
reinterpret_cast<SERVANT_FACTORY> (function);
@@ -55,7 +59,11 @@ ServantActivator::ServantActivator (CORBA::ORB_ptr orb,
// Obtain the symbol for the function which will destroy the
// servant.
symbol = this->dll_.symbol (garbage_collection_function);
+#if defined (ACE_OPENVMS) && (!defined (__INITIAL_POINTER_SIZE) || (__INITIAL_POINTER_SIZE < 64))
+ function = reinterpret_cast<int> (symbol);
+#else
function = reinterpret_cast<intptr_t> (symbol);
+#endif
servant_garbage_collector_ =
reinterpret_cast<SERVANT_GARBAGE_COLLECTOR> (function);
}