Looks like it doesn't have an atexit handler to call the cleanup function, only a signal handler. And PrintFatalError just calls exit(1), which doesn't unwind the stack to call destructors. So, the cleanup never happens. http://reviews.llvm.org/D9608 EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/