From 71ccf135850e9eb0497041ac12654ffde6ed9c4c Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 12 Jun 2001 17:54:30 +0000 Subject: [PATCH] eliminate option to turn off exceptions --- configure/CONFIG_BASE | 6 +- configure/os/CONFIG.Common.RTEMS | 4 - configure/os/CONFIG.Common.vxWorksCommon | 4 - src/libCom/misc/locationException.h | 8 +- src/libCom/osi/epicsTime.cpp | 113 ++++++++--------------- 5 files changed, 42 insertions(+), 93 deletions(-) diff --git a/configure/CONFIG_BASE b/configure/CONFIG_BASE index c18ed856a..e776ccb00 100644 --- a/configure/CONFIG_BASE +++ b/configure/CONFIG_BASE @@ -62,11 +62,7 @@ endif # EPICS_BASE #--------------------------------------------------------------- # Epics base c preprocessor flags -# c++ exceptions -CXX_EXCEPTIONS = YES -CXX_EXCEPTIONS_FLAGS_YES = -CXX_EXCEPTIONS_FLAGS_NO = -DnoExceptionsFromCXX -EPICS_BASE_CPPFLAGS = $(CXX_EXCEPTIONS_FLAGS_$(CXX_EXCEPTIONS)) +EPICS_BASE_CPPFLAGS = # osithread default stack OSITHREAD_USE_DEFAULT_STACK = YES diff --git a/configure/os/CONFIG.Common.RTEMS b/configure/os/CONFIG.Common.RTEMS index 0b9d6adc0..bed96e1f1 100644 --- a/configure/os/CONFIG.Common.RTEMS +++ b/configure/os/CONFIG.Common.RTEMS @@ -83,10 +83,6 @@ OP_SYS_LDFLAGS = $(CPU_CFLAGS) -u Init \ $(PROJECT_RELEASE)/lib/no-signal.rel \ $(PROJECT_RELEASE)/lib/no-rtmon.rel -#-------------------------------------------------- -# c++ exceptions, YES or NO -CXX_EXCEPTIONS = YES - #-------------------------------------------------- # RTEMS has neither shared libraries nor dynamic loading STATIC_BUILD=YES diff --git a/configure/os/CONFIG.Common.vxWorksCommon b/configure/os/CONFIG.Common.vxWorksCommon index 28137dc04..783dafb04 100644 --- a/configure/os/CONFIG.Common.vxWorksCommon +++ b/configure/os/CONFIG.Common.vxWorksCommon @@ -109,10 +109,6 @@ OPT_CFLAGS_NO = OPT_CXXFLAGS_YES = -O3 OPT_CXXFLAGS_NO = -#-------------------------------------------------- -# c++ exceptions, YES or NO override -CXX_EXCEPTIONS = NO - #-------------------------------------------------- # osithead use default stack, YES or NO override OSITHREAD_USE_DEFAULT_STACK = NO diff --git a/src/libCom/misc/locationException.h b/src/libCom/misc/locationException.h index 786b1b484..f00f8276f 100644 --- a/src/libCom/misc/locationException.h +++ b/src/libCom/misc/locationException.h @@ -61,13 +61,7 @@ inline const char * sourceFileLocation::fileName () const template inline void throwExceptionWithLocation (const T &parm, const char *pFileName, unsigned lineNo) { -# ifdef noExceptionsFromCXX - errlogPrintf ("C++ exception in file=%s at line=%u, and no compiler support - cant proceed.\n", - pFileName, lineNo); - cantProceed ("No compiler support for C++ exception"); -# else - throw sourceFileLocation (parm, pFileName, lineNo); -# endif + throw sourceFileLocation (parm, pFileName, lineNo); } #endif // ifdef locationException_h diff --git a/src/libCom/osi/epicsTime.cpp b/src/libCom/osi/epicsTime.cpp index 817ffe9c6..bb1d352fa 100644 --- a/src/libCom/osi/epicsTime.cpp +++ b/src/libCom/osi/epicsTime.cpp @@ -671,49 +671,36 @@ extern "C" { // epicsShareFunc int epicsShareAPI epicsTimeToTime_t (time_t *pDest, const epicsTimeStamp *pSrc) { -# ifdef noExceptionsFromCXX + try { time_t_wrapper dst = epicsTime (*pSrc); *pDest = dst.ts; -# else - try { - time_t_wrapper dst = epicsTime (*pSrc); - *pDest = dst.ts; - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc int epicsShareAPI epicsTimeFromTime_t (epicsTimeStamp *pDest, time_t src) { time_t_wrapper dst; dst.ts = src; -# ifdef noExceptionsFromCXX + try { *pDest = epicsTime (dst); -# else - try { - *pDest = epicsTime (dst); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc int epicsShareAPI epicsTimeToTM (struct tm *pDest, unsigned long *pNSecDest, const epicsTimeStamp *pSrc) { tm_nano_sec tmns; -# ifdef noExceptionsFromCXX + try { tmns = epicsTime (*pSrc); -# else - try { - tmns = epicsTime (*pSrc); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } *pDest = tmns.ansi_tm; *pNSecDest = tmns.nSec; return epicsTimeOK; @@ -724,72 +711,52 @@ extern "C" { tmns.ansi_tm = *pSrc; tmns.nSec = nSecSrc; -# ifdef noExceptionsFromCXX + try { *pDest = epicsTime (tmns); -# else - try { - *pDest = epicsTime (tmns); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc int epicsShareAPI epicsTimeToTimespec (struct timespec *pDest, const epicsTimeStamp *pSrc) { -# ifdef noExceptionsFromCXX + try { *pDest = epicsTime (*pSrc); -# else - try { - *pDest = epicsTime (*pSrc); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc int epicsShareAPI epicsTimeFromTimespec (epicsTimeStamp *pDest, const struct timespec *pSrc) { -# ifdef noExceptionsFromCXX + try { *pDest = epicsTime (*pSrc); -# else - try { - *pDest = epicsTime (*pSrc); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc int epicsShareAPI epicsTimeToTimeval (struct timeval *pDest, const epicsTimeStamp *pSrc) { -# ifdef noExceptionsFromCXX + try { *pDest = epicsTime (*pSrc); -# else - try { - *pDest = epicsTime (*pSrc); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc int epicsShareAPI epicsTimeFromTimeval (epicsTimeStamp *pDest, const struct timeval *pSrc) { -# ifdef noExceptionsFromCXX + try { *pDest = epicsTime (*pSrc); -# else - try { - *pDest = epicsTime (*pSrc); - } - catch (...) { - return epicsTimeERROR; - } -# endif + } + catch (...) { + return epicsTimeERROR; + } return epicsTimeOK; } epicsShareFunc double epicsShareAPI epicsTimeDiffInSeconds (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight)