This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug libstdc++/47380] concept checking and incomplete types


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>


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