http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47296
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-14 19:48:26 UTC --- The problems seems to be that opp->file is not set for scratch files (STATUS_SCRATCH) when tempfile fails. Thus, open_external just returns. Then, in new_unit in the error handling block, opp->file_len is used and unpack_filename tries to read the string. However, accessing opp->file crashes in fstrlen. It might work if one sets file_len to 0 in tempfile. But maybe something cleverer can be done.