http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57730
Bug ID: 57730 Summary: class/struct mismatch for std::hash Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: d.frey at gmx dot de When compiling with Clang and -Wall -Wextra -Werror, I get an error on a mismatched declaration/definition for std::hash wrt the use of "class" vs. "struct". The problem seems to be an inconsistent friend declaration in /usr/include/c++/4.8/bits/stl_bvector.h in line 523 (at least on my system, Ubuntu 12.04, GCC 4.8.1) where it reads friend class hash; and where it *should* read friend struct hash; which (for me) solves the problem. There might be other places, I did a quick grep on "class hash" and found 4 occurrences in libstdc++, but I'm not sure how to find all cases or even how to check for this.