Hi, I hope somebody can help with the following issue:
I have a Fortran program compiled and statically linked by ifort, and one of the libraries it links to has C++ code. (The interface to the C++ code is composed of extern "C" functions.) During normal operation, the C++ code uses C++'s throw/catch exception handling mechanism. The problem is that when the code is called by this Fortran program, the process aborts when an exception is thrown.
The C++ library was compiled with gcc 3.2.2 in RedHat 9.
In essence, Fortran code calls an extern "C" function. The extern "C" function calls a C++ function which throws (and should catch) an exception. But when the exception is thrown, the process aborts.
The stack dump is
Program received signal SIGABRT, Aborted.
0x0812b9e1 in kill ()
#0 0x0812b9e1 in kill ()
#1 0x0811517a in __pthread_raise ()
#2 0x0812bd29 in abort ()
#3 0x080b4197 in __cxxabiv1::__terminate(void (*)()) ()
#4 0x080b41e4 in std::terminate() ()
#5 0x080b4356 in __cxa_throw ()
#6 0x0807c124 in CLUDPImpl::select2(int, CL_Addrs&, CL_Addrs&, timeval*, bool,