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

SEH no longer working

rkaehler
Beginner
1,178 Views
I have some mixed language DLLs with Fortran code in C wrappers with exception handlers that rely on Windows SEH to exit gracefully in the event of a divide by zero or other serious error. This no longer seems to work. A divide by zero results in an infinity and the program just marches along.

I am guessing this has something to do with the new floating point environment stuff.

What settings in the GUI do I have to change to get back the old behavior (where a divide by zero would trigger a Windows exception)?

Compiler is 11.1.038 ia-32

TIA

Dick Kaehler
0 Kudos
1 Solution
Steven_L_Intel1
Employee
1,178 Views
I doubt it's actually SEH that is the issue. Try compiling with /arch:ia32 (Code Generation > Enable enhanced instruction set > No enhanced instruction set.)

View solution in original post

0 Kudos
3 Replies
Steven_L_Intel1
Employee
1,179 Views
I doubt it's actually SEH that is the issue. Try compiling with /arch:ia32 (Code Generation > Enable enhanced instruction set > No enhanced instruction set.)
0 Kudos
rkaehler
Beginner
1,178 Views
I doubt it's actually SEH that is the issue. Try compiling with /arch:ia32 (Code Generation > Enable enhanced instruction set > No enhanced instruction set.)

Thanks Steve, that took care of my problem.
0 Kudos
Steven_L_Intel1
Employee
1,178 Views
Figuring out why this helps is on my list of things to look into. I ran into it when trying to figure out why the GetExceptionPointers sample stopped working in 11.0. It turned out that with the change to using SSE instructions by default, the exceptions were never being raised at all. I didn't spend a lot of time on this yet.
0 Kudos
Reply