https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65281
Bug ID: 65281 Summary: Lots of macros using non-reserved names in gthr headers Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org See Bug 64885 comment 6 (referring to libgcc/gthr-single.h and others): Note the UNUSED macro (whether function-like or not) certainly doesn't belong to headers included from STL headers either. It should have been __gthr_unused or something similar. and Bug 64885 comment 7: Ditto the header guards like GCC_GTHR_POSIX_H GCC_GTHR_SINGLE_H GCC_GTHR_H and macros like GTHREAD_USE_WEAK HIDE_EXPORTS This breaks valid programs such as: #define UNUSED 1 #include <mutex> int main() { }