* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
@ 2011-01-20 18:13 ` paolo.carlini at oracle dot com
2011-01-20 18:14 ` redi at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-01-20 18:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |WONTFIX
--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-01-20 17:39:22 UTC ---
Yes it is, and no, we are not going to "fix" the legacy simulated concepts, we
are barely keeping the code, for now.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
2011-01-20 18:13 ` [Bug libstdc++/47380] " paolo.carlini at oracle dot com
@ 2011-01-20 18:14 ` redi at gcc dot gnu.org
2011-01-20 18:52 ` paolo.carlini at oracle dot com
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2011-01-20 18:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-20 17:42:17 UTC ---
I'll fix the outdated reference to concepts in the docs though
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
2011-01-20 18:13 ` [Bug libstdc++/47380] " paolo.carlini at oracle dot com
2011-01-20 18:14 ` redi at gcc dot gnu.org
@ 2011-01-20 18:52 ` paolo.carlini at oracle dot com
2011-01-20 20:06 ` marc.glisse at normalesup dot org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-01-20 18:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-01-20 18:13:40 UTC ---
And thanks for that indeed. By the way, certainly I have no principled
objections to somebody dealing with issues like the one pointed out by Marc,
but only if we are *100%* sure it doesn't cause regressions in other cases and
that doesn't add more complecity to the tricks (and a lot of time ago we came
to the conclusion that some specific issues are essentially unfixable at the
library only level, just to be clear)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (2 preceding siblings ...)
2011-01-20 18:52 ` paolo.carlini at oracle dot com
@ 2011-01-20 20:06 ` marc.glisse at normalesup dot org
2011-01-20 20:16 ` redi at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: marc.glisse at normalesup dot org @ 2011-01-20 20:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #4 from Marc Glisse <marc.glisse at normalesup dot org> 2011-01-20 19:40:29 UTC ---
(In reply to comment #1)
> Yes it is, and no, we are not going to "fix" the legacy simulated concepts, we
> are barely keeping the code, for now.
Ok. If it is a "legacy", would you mind saying so in the documentation? I read
http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt03ch08.html (concept
checking) and the formulation about the "new" implementation is very positive
and doesn't reflect at all this legacy status.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (3 preceding siblings ...)
2011-01-20 20:06 ` marc.glisse at normalesup dot org
@ 2011-01-20 20:16 ` redi at gcc dot gnu.org
2011-01-20 20:18 ` redi at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2011-01-20 20:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-20 20:12:55 UTC ---
(In reply to comment #4)
> (In reply to comment #1)
> > Yes it is, and no, we are not going to "fix" the legacy simulated concepts, we
> > are barely keeping the code, for now.
>
> Ok. If it is a "legacy", would you mind saying so in the documentation? I read
> http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt03ch08.html (concept
> checking) and the formulation about the "new" implementation is very positive
> and doesn't reflect at all this legacy status.
You didn't think the reference to a first version in 1999 might have been a
hint those docs were written a long time ago :)
I'm updating them now
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (4 preceding siblings ...)
2011-01-20 20:16 ` redi at gcc dot gnu.org
@ 2011-01-20 20:18 ` redi at gcc dot gnu.org
2011-01-20 20:42 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2011-01-20 20:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-20 20:14:22 UTC ---
(In reply to comment #5)
> You didn't think the reference to a first version in 1999 might have been a
> hint those docs were written a long time ago :)
or the fact that the referenced Boost docs are dated 2000!
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (5 preceding siblings ...)
2011-01-20 20:18 ` redi at gcc dot gnu.org
@ 2011-01-20 20:42 ` redi at gcc dot gnu.org
2011-01-20 20:44 ` marc.glisse at normalesup dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2011-01-20 20:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-20 20:18:32 UTC ---
Author: redi
Date: Thu Jan 20 20:18:29 2011
New Revision: 169064
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169064
Log:
2011-01-20 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/47380
* doc/xml/manual/diagnostics.xml: Replace note about C++0x concepts.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/doc/xml/manual/diagnostics.xml
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (6 preceding siblings ...)
2011-01-20 20:42 ` redi at gcc dot gnu.org
@ 2011-01-20 20:44 ` marc.glisse at normalesup dot org
2011-01-20 20:47 ` redi at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: marc.glisse at normalesup dot org @ 2011-01-20 20:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #8 from Marc Glisse <marc.glisse at normalesup dot org> 2011-01-20 20:29:22 UTC ---
Thank you, the new paragraph is great :-)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (7 preceding siblings ...)
2011-01-20 20:44 ` marc.glisse at normalesup dot org
@ 2011-01-20 20:47 ` redi at gcc dot gnu.org
2011-01-21 1:02 ` paolo.carlini at oracle dot com
2011-08-23 15:37 ` marc.glisse at normalesup dot org
10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2011-01-20 20:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-01-20 20:36:36 UTC ---
no problem, re-categorising bugs as features via documentation is easy ;)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (8 preceding siblings ...)
2011-01-20 20:47 ` redi at gcc dot gnu.org
@ 2011-01-21 1:02 ` paolo.carlini at oracle dot com
2011-08-23 15:37 ` marc.glisse at normalesup dot org
10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-01-21 1:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47380
--- Comment #10 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-01-21 00:02:38 UTC ---
Thanks Jon. Sometimes I despair we can make progress on the documentation ;)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libstdc++/47380] concept checking and incomplete types
2011-01-20 16:37 [Bug libstdc++/47380] New: concept checking and incomplete types marc.glisse at normalesup dot org
` (9 preceding siblings ...)
2011-01-21 1:02 ` paolo.carlini at oracle dot com
@ 2011-08-23 15:37 ` marc.glisse at normalesup dot org
10 siblings, 0 replies; 12+ messages in thread
From: marc.glisse at normalesup dot org @ 2011-08-23 15:37 UTC (permalink / raw)
To: gcc-bugs
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>
^ permalink raw reply [flat|nested] 12+ messages in thread