http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53888
Bug #: 53888 Summary: gthr-win32.h defines __gthread_mutex_destroy with wrong return type Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org Target: *-mingw32 gthr.h documents the required function int __gthread_mutex_destroy (__gthread_mutex_t *mutex); but gthr-win32.h defines: static inline void __gthread_mutex_destroy (__gthread_mutex_t *__mutex) { __gthr_win32_mutex_destroy (__mutex); } This means code using __gthread_mutex_destroy can't check the return value, as it would fail to compile on Windows.