@@ -236,10 +236,17 @@ #ifdef OF_HAVE_THREADS + (void)terminate { [self terminateWithObject: nil]; + + /* + * For some reason, Clang thinks terminateWithObject: can return - even + * though it is declared noreturn - and warns that terminate returns + * while being declared noreturn. + */ + OF_UNREACHABLE } + (void)terminateWithObject: (id)object { OFThread *thread = of_tlskey_get(threadSelfKey);