------- Comment #1 from hjl dot tools at gmail dot com 2009-03-02 20:50 -------
-fexceptions with Fortran looks odd. Does Fortran support exceptions?
To support exceptions, C/C++ initializes eh_personality_libfunc. But
eh_personality_libfunc isn't initialized for Fortran. What does it
mean? Does Fortran support/need LSDA?
output_function_exception_table has
/* Not all functions need anything. */
if (! crtl->uses_eh_lsda)
return;
if (eh_personality_libfunc)
assemble_external_libcall (eh_personality_libfunc);
#ifdef TARGET_UNWIND_INFO
/* TODO: Move this into target file. */
fputs ("\t.personality\t", asm_out_file);
output_addr_const (asm_out_file, eh_personality_libfunc);
fputs ("\n\t.handlerdata\n", asm_out_file);
/* Note that varasm still thinks we're in the function's code section.
The ".endp" directive that will immediately follow will take us back. */
#else
switch_to_exception_section (fnname);
#endif
Since eh_personality_libfunc is NULL for Fortran, we crash.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39352