------- 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