* [Bug libstdc++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
@ 2004-06-17 2:04 ` redi at gcc dot gnu dot org
2004-06-28 20:11 ` bangerth at dealii dot org
` (10 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu dot org @ 2004-06-17 2:04 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From redi at gcc dot gnu dot org 2004-06-17 02:04 -------
I configured with concept-checks and PCH enabled
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
2004-06-17 2:04 ` [Bug libstdc++/16021] " redi at gcc dot gnu dot org
@ 2004-06-28 20:11 ` bangerth at dealii dot org
2004-06-30 14:41 ` redi at gcc dot gnu dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: bangerth at dealii dot org @ 2004-06-28 20:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-06-28 19:52 -------
I would argue that your code is in fact invalid, since you may not
redefine members of namespace std. That being said, we should still
make an attempt to get it working, or at least get the error messages
to reflect what we mean.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
2004-06-17 2:04 ` [Bug libstdc++/16021] " redi at gcc dot gnu dot org
2004-06-28 20:11 ` bangerth at dealii dot org
@ 2004-06-30 14:41 ` redi at gcc dot gnu dot org
2004-06-30 15:22 ` bangerth at dealii dot org
` (8 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu dot org @ 2004-06-30 14:41 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From redi at gcc dot gnu dot org 2004-06-30 14:39 -------
Wolfgang, isn't this a specialisation of std::vector<T>::swap() (where T is a
user-defined type, not a template parameter) and therefore legal?
If it's illegal then there are lots of libstdc++ testsuite files that need fixing,
since my code was adapted from the testsuite and the code works fine in non-debug
mode.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (2 preceding siblings ...)
2004-06-30 14:41 ` redi at gcc dot gnu dot org
@ 2004-06-30 15:22 ` bangerth at dealii dot org
2004-06-30 17:32 ` giovannibajo at libero dot it
` (7 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: bangerth at dealii dot org @ 2004-06-30 15:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-06-30 15:07 -------
I think the compiler should accept it, but adding anything to namespace std::
gets you on thin ice.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (3 preceding siblings ...)
2004-06-30 15:22 ` bangerth at dealii dot org
@ 2004-06-30 17:32 ` giovannibajo at libero dot it
2004-06-30 17:36 ` bangerth at dealii dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: giovannibajo at libero dot it @ 2004-06-30 17:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-06-30 17:29 -------
Wolfgang, the standard explicitally says that the only thing you are allowed to
define in namespace std are specializations of standard templates. Everything
else brings you into undefined behaviour, but this very thing is allowed and
should work also in debug mode.
This is just another bug with strong using, I thikn it's a dup of whatever bug
is left around about this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (4 preceding siblings ...)
2004-06-30 17:32 ` giovannibajo at libero dot it
@ 2004-06-30 17:36 ` bangerth at dealii dot org
2004-06-30 19:33 ` [Bug c++/16021] " bangerth at dealii dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: bangerth at dealii dot org @ 2004-06-30 17:36 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-06-30 17:32 -------
Thanks, Giovanni, for the explanation.
I thought about the strong using thingy as well, but then I was under
the impression that it had been backed out of the compiler. We should
try to come up with a smaller example, though I won't have the time to
do so today.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (5 preceding siblings ...)
2004-06-30 17:36 ` bangerth at dealii dot org
@ 2004-06-30 19:33 ` bangerth at dealii dot org
2004-08-02 18:52 ` mmitchel at gcc dot gnu dot org
` (4 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: bangerth at dealii dot org @ 2004-06-30 19:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-06-30 17:49 -------
Hm, I _had_ to do it:
-----------------
namespace NS {}
namespace std {
using namespace NS __attribute__ ((strong));
class A{};
}
namespace NS {
template<typename _Tp, typename _A = std::A>
class X {
void swap (X&);
};
}
struct T {};
namespace std {
template<>
void X<T, A>::swap(X<T, A>&) {}
}
-------------------
g/x> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc
x.cc:19: error: `A' was not declared in this scope
x.cc:19: error: template argument 2 is invalid
x.cc:19: error: ISO C++ forbids declaration of `parameter' with no type
x.cc:19: error: no member function `swap' declared in `NS::X<T, std::A>'
x.cc:19: error: invalid function declaration
That's of course bogus: 'A' _is_ declared in this scope, since it's a class
inside namespace std, which we are presently in.
The code is extracted from debug mode libstdc++, in which NS is the namespace
in which the debug version of the containers are declared. If we want user
programs to be able to compile with both debug and non-debug mode, we need
to be able to allow specializations of NS::X members in namespace std, as
shown in the example. Thus, the code should really compile.
W.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|libstdc++ |c++
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-06-30 17:49:04
date| |
Target Milestone|--- |3.4.2
Version|3.5.0 |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (6 preceding siblings ...)
2004-06-30 19:33 ` [Bug c++/16021] " bangerth at dealii dot org
@ 2004-08-02 18:52 ` mmitchel at gcc dot gnu dot org
2004-08-29 18:55 ` mmitchel at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-02 18:52 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-02 18:52 -------
Assigned to Jason, as the inventor of "strong using".
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jason at redhat dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (7 preceding siblings ...)
2004-08-02 18:52 ` mmitchel at gcc dot gnu dot org
@ 2004-08-29 18:55 ` mmitchel at gcc dot gnu dot org
2004-11-01 0:46 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-29 18:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-29 18:51 -------
Postponed until GCC 3.4.3.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.2 |3.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (8 preceding siblings ...)
2004-08-29 18:55 ` mmitchel at gcc dot gnu dot org
@ 2004-11-01 0:46 ` mmitchel at gcc dot gnu dot org
2005-02-12 22:33 ` pinskia at gcc dot gnu dot org
2005-05-19 17:30 ` mmitchel at gcc dot gnu dot org
11 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-11-01 0:46 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-11-01 00:45 -------
Postponed until GCC 3.4.4.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.3 |3.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (9 preceding siblings ...)
2004-11-01 0:46 ` mmitchel at gcc dot gnu dot org
@ 2005-02-12 22:33 ` pinskia at gcc dot gnu dot org
2005-05-19 17:30 ` mmitchel at gcc dot gnu dot org
11 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-12 22:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-12 21:00 -------
*** Bug 19550 has been marked as a duplicate of this bug. ***
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/16021] Tests for container swap specialisations FAIL in debug mode
2004-06-16 12:15 [Bug libstdc++/16021] New: Tests for container swap specialisations FAIL in debug mode redi at gcc dot gnu dot org
` (10 preceding siblings ...)
2005-02-12 22:33 ` pinskia at gcc dot gnu dot org
@ 2005-05-19 17:30 ` mmitchel at gcc dot gnu dot org
11 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-05-19 17:30 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.4 |3.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16021
^ permalink raw reply [flat|nested] 18+ messages in thread