Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29250 Discussions

SIGABRT in mixed-language environment

emr150
Beginner
889 Views

Short of downloading and installing the newer version of the compiler (which may be my last option), is anyone aware if the SIGABRT issue was fixed in the latest version of the fortran compiler? We're running 8.1, and when we create a program (main() in c++) and link to several object files that were compiled using ifort, when the c++ program gets to a throw() line, something in the fortran cxa libraries signal a SIGABRT rather than proceeding to the catch() line below it, as one would expect.

Right now, we're compiling the c++ code with g++. I was hoping to have to avoid purchasing the Intel c++ compiler in addition to the fortran compiler just to get this one piece of code working right, but if it's the only solution, I first wanted to check to see if a newer version of the fortran compiler fixed the issue.

0 Kudos
2 Replies
Steven_L_Intel1
Employee
889 Views
Without seeing an actual sample, it's hard to tell. You can download a 30-day evaluation copy of the Fortran compiler if your support term has expired, so you can see for yourself.
0 Kudos
Lorri_M_Intel
Employee
889 Views

Well, later versions of the Fortran compiler (actually runtime libraries) remove the dependence on the C++ libraries, so getting a newer version could fix your exception handling issue. V8.1 is relatively old; our current release is 10.1.

Another thing to try with your existing V8.1 is to use "-cxxlib-gcc" when you link. That tells ifort to link against the gcc C++ libraries instead of the libcxa ones provided by the Fortran installation.

- Lorri

0 Kudos
Reply