http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55183
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-11-02 20:36:12 UTC --- The functions dealing with the void* internalPointer() can't be constexpr on GCC 4.6 and Clang 3.2-trunk, even though GCC 4.8-trunk accepts it, because of the casts required. inline void *internalPointer() const { return reinterpret_cast<void*>(i); }