From 602c0b17174fd84710f8730ad905a9014ec1e84b Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Wed, 6 Jul 2016 13:32:00 -0500 Subject: Fix bugzilla #4215: workaround for a compiler bug in vc14-update3 --- .gitignore | 1 + TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h | 10 ++++++++-- TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.inl | 11 ++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index d4a2a896b1f..a2aed252e6b 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ ipch/ *.o *.res *.opendb +*.VC.db diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h index e32cd3ccc7b..edf7d0add56 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h @@ -96,8 +96,14 @@ protected: class TAO_RTEvent_Serv_Export TAO_EC_Dispatching_Task : public ACE_Task { public: - /// Constructor - TAO_EC_Dispatching_Task (ACE_Thread_Manager* thr_manager = 0, TAO_EC_Queue_Full_Service_Object* queue_full_service_object = 0); + +#ifdef ACE_WIN32_VC14 + // Work around for Connect #2869042 Bugzilla #4215 + TAO_EC_Dispatching_Task (ACE_Thread_Manager *thr_manager, TAO_EC_Queue_Full_Service_Object *queue_full_service_object = 0); + TAO_EC_Dispatching_Task (); +#else + TAO_EC_Dispatching_Task (ACE_Thread_Manager *thr_manager = 0, TAO_EC_Queue_Full_Service_Object *queue_full_service_object = 0); +#endif /// Process the events in the queue. virtual int svc (void); diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.inl b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.inl index ef6d7dc0d83..e0eb5496867 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.inl +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.inl @@ -26,7 +26,7 @@ TAO_EC_Queue:: ACE_INLINE TAO_EC_Dispatching_Task:: -TAO_EC_Dispatching_Task (ACE_Thread_Manager* thr_manager, TAO_EC_Queue_Full_Service_Object* so) +TAO_EC_Dispatching_Task (ACE_Thread_Manager *thr_manager, TAO_EC_Queue_Full_Service_Object *so) : ACE_Task (thr_manager), allocator_ (0), the_queue_ (TAO_EC_QUEUE_HWM, TAO_EC_QUEUE_LWM), @@ -35,6 +35,15 @@ TAO_EC_Dispatching_Task (ACE_Thread_Manager* thr_manager, TAO_EC_Queue_Full_Serv this->msg_queue (&this->the_queue_); } +#ifdef ACE_WIN32_VC14 +// Work around for Connect #2869042 Bugzilla #4215 +ACE_INLINE +TAO_EC_Dispatching_Task:: +TAO_EC_Dispatching_Task () + : TAO_EC_Dispatching_Task (0, 0) +{} +#endif + // **************************************************************** ACE_INLINE -- cgit v1.2.1