http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #11 from Marc Glisse <marc.glisse at normalesup dot org> 2011-08-23 15:27:35 UTC --- In case someone else has issues with _GLIBCXX_CONCEPT_CHECKS, all the bad cases I have hit came from _SGIAssignableConcept, so I simply removed the content of that concept (not very subtle I know...). Afterwards, all the errors given by the concept checking matched real bugs in our code, and there were quite a few so the patch didn't completely kill the checking. (Note that this is not a proposition to change libstdc++, just information for anyone reading this entry) --- boost_concept_check.h.orig 2011-01-28 15:01:12.177453226 +0100 +++ boost_concept_check.h 2011-01-28 15:01:29.665445131 +0100 @@ -201,15 +201,9 @@ struct _SGIAssignableConcept { void __constraints() { - _Tp __b _IsUnused(__a); - __a = __a; // require assignment operator - __const_constraints(__a); } void __const_constraints(const _Tp& __b) { - _Tp __c _IsUnused(__b); - __a = __b; // const required for argument to assignment } - _Tp __a; }; template <class _From, class _To>