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
Einsteiger
1.190Aufrufe
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 Lösung
Steven_L_Intel1
Mitarbeiter
1.190Aufrufe
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.)

Lösung in ursprünglichem Beitrag anzeigen

3 Antworten
Steven_L_Intel1
Mitarbeiter
1.191Aufrufe
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.)
rkaehler
Einsteiger
1.190Aufrufe
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.
Steven_L_Intel1
Mitarbeiter
1.190Aufrufe
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.
Antworten