The following program fails to compile with every version of GCC 4.x I tested (including current mainline) with
error: no match for call to '(const __gnu_cxx::hash<long long int>) (const long long int&)' ==== snip ==== #include <ext/hash_set> using namespace __gnu_cxx; typedef long long T; void f() { hash_set<T> t; t.insert(1); t.erase(1); } ==== snip ==== The problem is that libstdc++ fails to define hash<long long>. -- Summary: hash_map<> lacks support for long long Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gerald at pfeifer dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29898