This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem with _Hashtable_ebo_helper


I've been working on fixing G++ handling of trivial but not callable [cd]tors, and I've run into a problem in the library.

The final_hash.cc tests are failing with the obscure error

error: static assertion failed: Cache the hash code or make functors involved in hash code and bucket index computation default constructible

A comment in hashtable.h says,

// We use _Hashtable_ebo_helper to access the protected
// default constructor.

But this doesn't work if the class with a protected default constructor (in this case, _Hash_code_base) is non-empty; in that case, _Hashtable_ebo_helper doesn't derive from _Tp but rather uses it as a non-static data member, in which case it has no access to the protected constructor. Previously the compiler didn't catch this because the constructor was trivial, but with my WIP it does.

Any thoughts about how to address this?

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]