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.

Reply via email to