eliminate option to turn off exceptions

This commit is contained in:
Jeff Hill
2001-06-12 17:54:30 +00:00
parent 4886ad2b6d
commit 71ccf13585
5 changed files with 42 additions and 93 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -61,13 +61,7 @@ inline const char * sourceFileLocation<T>::fileName () const
template <class T>
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<T> (parm, pFileName, lineNo);
# endif
throw sourceFileLocation<T> (parm, pFileName, lineNo);
}
#endif // ifdef locationException_h

View File

@@ -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)