* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
@ 2004-05-19 13:00 ` pinskia at gcc dot gnu dot org
2004-05-19 22:58 ` [Bug libstdc++/15523] New: " llewelly
` (12 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-19 13:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-05-18 20:36 -------
Even this one fails:
#include <vector>
int main ()
{
std::vector<std::vector<int>::iterator> x(2);
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
2004-05-19 13:00 ` [Bug libstdc++/15523] " pinskia at gcc dot gnu dot org
@ 2004-05-19 22:58 ` llewelly
2004-05-19 23:07 ` [Bug libstdc++/15523] " llewelly at xmission dot com
` (11 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: llewelly @ 2004-05-19 22:58 UTC (permalink / raw)
To: gcc-bugzilla; +Cc: gcc-bugs
"bangerth at dealii dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> I definitely like the debug mode in libstdc++, but happened to fall over this:
> -----------------
> #include <vector>
>
> int main ()
> {
> std::vector<std::vector<int>::const_iterator> x(2);
> }
> -----------------
>
> When compiled with -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC, I got this:
>
> homes/csm2/bangerth/bin/gcc-3.4.0/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/debug/safe_iterator.h:125:
> error: attempt to copy-construct an iterator from a singular iterator.
>
> Objects involved in the operation:
> iterator "this" @ 0x0x8067ee0 {
> type =
> N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKiN10__gnu_norm6vectorIiSaIiEEEEEN15__gnu_debug_def6vectorIiS7_EEEE
> (constant iterator);
> state = singular;
> }
> iterator "other" @ 0x0xbfffdd40 {
> type =
> N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKiN10__gnu_norm6vectorIiSaIiEEEEEN15__gnu_debug_def6vectorIiS7_EEEE
> (constant iterator);
> state = singular;
> }
>
>
> For some reason, I fail to see why I shouldn't be allowed to copy-construct from an
> invalid iterator. After all, the result would still be invalid and
> couldn't be dereferenced, no?
Copying an invalid iterator is undefined behavior. 24.1/5 .
> I think this should be allowed.
Is there a gcc target where (a) loading an invalid address into an
address register causes a hardware fault, and (b) copy
constructing an invalid iterator might require such a load?
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
2004-05-19 13:00 ` [Bug libstdc++/15523] " pinskia at gcc dot gnu dot org
2004-05-19 22:58 ` [Bug libstdc++/15523] New: " llewelly
@ 2004-05-19 23:07 ` llewelly at xmission dot com
2004-05-20 15:16 ` bangerth at dealii dot org
` (10 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: llewelly at xmission dot com @ 2004-05-19 23:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From llewelly at xmission dot com 2004-05-19 05:11 -------
Subject: Re: New: Can't have vectors of vector::const_iterator
"bangerth at dealii dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> I definitely like the debug mode in libstdc++, but happened to fall over this:
> -----------------
> #include <vector>
>
> int main ()
> {
> std::vector<std::vector<int>::const_iterator> x(2);
> }
> -----------------
>
> When compiled with -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC, I got this:
>
> homes/csm2/bangerth/bin/gcc-3.4.0/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/debug/safe_iterator.h:125:
> error: attempt to copy-construct an iterator from a singular iterator.
>
> Objects involved in the operation:
> iterator "this" @ 0x0x8067ee0 {
> type =
> N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKiN10__gnu_norm6vectorIiSaIiEEEEEN15__gnu_debug_def6vectorIiS7_EEEE
> (constant iterator);
> state = singular;
> }
> iterator "other" @ 0x0xbfffdd40 {
> type =
> N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKiN10__gnu_norm6vectorIiSaIiEEEEEN15__gnu_debug_def6vectorIiS7_EEEE
> (constant iterator);
> state = singular;
> }
>
>
> For some reason, I fail to see why I shouldn't be allowed to copy-construct from an
> invalid iterator. After all, the result would still be invalid and
> couldn't be dereferenced, no?
Copying an invalid iterator is undefined behavior. 24.1/5 .
> I think this should be allowed.
Is there a gcc target where (a) loading an invalid address into an
address register causes a hardware fault, and (b) copy
constructing an invalid iterator might require such a load?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (2 preceding siblings ...)
2004-05-19 23:07 ` [Bug libstdc++/15523] " llewelly at xmission dot com
@ 2004-05-20 15:16 ` bangerth at dealii dot org
2004-05-20 18:43 ` llewelly
2004-05-20 18:43 ` llewelly at xmission dot com
` (9 subsequent siblings)
13 siblings, 1 reply; 18+ messages in thread
From: bangerth at dealii dot org @ 2004-05-20 15:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-05-19 14:24 -------
I see your point, although 24.1/5 only speaks about "most operations" and
does not specifically rule out that we do the sensible thing here. I
think my point is that I fail to see the value of this check, since it
seems to be allowed to create such an iterator, but not to copy it. On
the other hand, if we simply omitted the check we would fall over later
if we ever tried to dereference it. The only thing that one would have
to make sure is that the result of assigning a singular iterator to
another iterator is again a singular iterator, but that should be what
happens anyway if we simply copy all member variables.
I don't feel strongly either way, since I already fixed my code to
work around this, but I do feel that there are cases where one would
like to generate a vector of singular iterators, and only after that
assign individual values to them.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-20 15:16 ` bangerth at dealii dot org
@ 2004-05-20 18:43 ` llewelly
0 siblings, 0 replies; 18+ messages in thread
From: llewelly @ 2004-05-20 18:43 UTC (permalink / raw)
To: gcc-bugzilla; +Cc: gcc-bugs
"bangerth at dealii dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- Additional Comments From bangerth at dealii dot org 2004-05-19 14:24 -------
> I see your point, although 24.1/5 only speaks about "most operations" and
> does not specifically rule out that we do the sensible thing here. I
> think my point is that I fail to see the value of this check, since it
> seems to be allowed to create such an iterator, but not to copy it. On
> the other hand, if we simply omitted the check we would fall over later
> if we ever tried to dereference it. The only thing that one would have
> to make sure is that the result of assigning a singular iterator to
> another iterator is again a singular iterator, but that should be what
> happens anyway if we simply copy all member variables.
>
> I don't feel strongly either way, since I already fixed my code to
> work around this, but I do feel that there are cases where one would
> like to generate a vector of singular iterators, and only after that
> assign individual values to them.
The obvious answer is that if one can't initialize a vector of
iterators to the 'right' value, one should initialize them to the
null iterator. :-) (I know, pointers are the only iterators for
which such a value exists.)
I think in most cases it would be sufficient to create an empty
vector, set it its vector<>::capacity(), and then push_back() new
values into it.
My naive expectation would be that -D_GLIBCXX_DEBUG_PEDANTIC would
cause an abort() for all dectectable undefined behavior. I think
most other users would expect this as well, *but* many probably
don't realize this extends to aborting on the copy of a singular
iterator, much less to aborting on the creation of the vector full
of singular iterators. OTOH, some users expect implementations to
report errors they don't know about.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (3 preceding siblings ...)
2004-05-20 15:16 ` bangerth at dealii dot org
@ 2004-05-20 18:43 ` llewelly at xmission dot com
2004-05-20 18:43 ` bangerth at ices dot utexas dot edu
` (8 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: llewelly at xmission dot com @ 2004-05-20 18:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From llewelly at xmission dot com 2004-05-19 17:32 -------
Subject: Re: Can't have vectors of vector::const_iterator
"bangerth at dealii dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- Additional Comments From bangerth at dealii dot org 2004-05-19 14:24 -------
> I see your point, although 24.1/5 only speaks about "most operations" and
> does not specifically rule out that we do the sensible thing here. I
> think my point is that I fail to see the value of this check, since it
> seems to be allowed to create such an iterator, but not to copy it. On
> the other hand, if we simply omitted the check we would fall over later
> if we ever tried to dereference it. The only thing that one would have
> to make sure is that the result of assigning a singular iterator to
> another iterator is again a singular iterator, but that should be what
> happens anyway if we simply copy all member variables.
>
> I don't feel strongly either way, since I already fixed my code to
> work around this, but I do feel that there are cases where one would
> like to generate a vector of singular iterators, and only after that
> assign individual values to them.
The obvious answer is that if one can't initialize a vector of
iterators to the 'right' value, one should initialize them to the
null iterator. :-) (I know, pointers are the only iterators for
which such a value exists.)
I think in most cases it would be sufficient to create an empty
vector, set it its vector<>::capacity(), and then push_back() new
values into it.
My naive expectation would be that -D_GLIBCXX_DEBUG_PEDANTIC would
cause an abort() for all dectectable undefined behavior. I think
most other users would expect this as well, *but* many probably
don't realize this extends to aborting on the copy of a singular
iterator, much less to aborting on the creation of the vector full
of singular iterators. OTOH, some users expect implementations to
report errors they don't know about.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (4 preceding siblings ...)
2004-05-20 18:43 ` llewelly at xmission dot com
@ 2004-05-20 18:43 ` bangerth at ices dot utexas dot edu
2004-05-20 18:43 ` llewelly
2004-05-20 18:43 ` llewelly at xmission dot com
` (7 subsequent siblings)
13 siblings, 1 reply; 18+ messages in thread
From: bangerth at ices dot utexas dot edu @ 2004-05-20 18:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at ices dot utexas dot edu 2004-05-19 17:39 -------
Subject: Re: Can't have vectors of vector::const_iterator
> I think in most cases it would be sufficient to create an empty
> vector, set it its vector<>::capacity(), and then push_back() new
> values into it.
That's exactly what I ended up doing in our code.
> My naive expectation would be that -D_GLIBCXX_DEBUG_PEDANTIC would
> cause an abort() for all dectectable undefined behavior. I think
> most other users would expect this as well, *but* many probably
> don't realize this extends to aborting on the copy of a singular
> iterator, much less to aborting on the creation of the vector full
> of singular iterators. OTOH, some users expect implementations to
> report errors they don't know about.
As I said, I don't feel strongly way, I'm just confused because I don't see a
reaonsing behind this particular check. What harm does it do to copy an
object that you will not be allowed to use anyway? Since the standard says
that behavior is undefined, we have some leeway in implementing sensible
behavior, in particular since we know that this can never hurt anyone.
But I'm fine if we decide that this is NAD and that we should close this PR.
Please feel free to do so if you want.
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ices.utexas.edu
www: http://www.ices.utexas.edu/~bangerth/
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-20 18:43 ` bangerth at ices dot utexas dot edu
@ 2004-05-20 18:43 ` llewelly
0 siblings, 0 replies; 18+ messages in thread
From: llewelly @ 2004-05-20 18:43 UTC (permalink / raw)
To: gcc-bugzilla; +Cc: gcc-bugs
"bangerth at ices dot utexas dot edu" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- Additional Comments From bangerth at ices dot utexas dot edu 2004-05-19 17:39 -------
> Subject: Re: Can't have vectors of vector::const_iterator
>
>
> > I think in most cases it would be sufficient to create an empty
> > vector, set it its vector<>::capacity(), and then push_back() new
> > values into it.
>
> That's exactly what I ended up doing in our code.
>
>
> > My naive expectation would be that -D_GLIBCXX_DEBUG_PEDANTIC would
> > cause an abort() for all dectectable undefined behavior. I think
> > most other users would expect this as well, *but* many probably
> > don't realize this extends to aborting on the copy of a singular
> > iterator, much less to aborting on the creation of the vector full
> > of singular iterators. OTOH, some users expect implementations to
> > report errors they don't know about.
>
> As I said, I don't feel strongly way, I'm just confused because I don't see a
> reaonsing behind this particular check. What harm does it do to copy an
> object that you will not be allowed to use anyway?
I can only speculate as to the reasoning behind the check, but the
example is undefined behavior. The check prevents an unsuspecting
user from writing code which may misbehave on another
implementation.
In theory, such code may not be portable to other implementations. In
practice, I don't know of an implementation in which copying an
invalid iterator is a significant problem. But then, I mostly only
use libstdc++ . :-)
I don't really know how far libstdc++ should go in emitting errors for
non-conforming code. I did expect -D_GLIBCXX_DEBUG_PEDANTIC to
cause that abort, and mildly prefer that it continue to do so, but
I don't know how other users would react to it.
> Since the standard says
> that behavior is undefined, we have some leeway in implementing sensible
> behavior, in particular since we know that this can never hurt
> anyone.
I don't see this as being about whether gcc can implement sensible
behavior for this case. My question is, should libstdc++ emit an
error for this case, because some *other* implementation may not
implement a sensible behavior for this case? The safe answer seems
to be yes, but if nobody knows of an implementation where copying
invalid pointers or iterators has bad behavior, maybe it's just
paranoia.
>
> But I'm fine if we decide that this is NAD and that we should close this PR.
> Please feel free to do so if you want.
I'm just an overly talkative observer. I don't close bugs. :-)
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (5 preceding siblings ...)
2004-05-20 18:43 ` bangerth at ices dot utexas dot edu
@ 2004-05-20 18:43 ` llewelly at xmission dot com
2004-05-20 18:43 ` sebor at roguewave dot com
` (6 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: llewelly at xmission dot com @ 2004-05-20 18:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From llewelly at xmission dot com 2004-05-19 18:22 -------
Subject: Re: Can't have vectors of vector::const_iterator
"bangerth at ices dot utexas dot edu" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- Additional Comments From bangerth at ices dot utexas dot edu 2004-05-19 17:39 -------
> Subject: Re: Can't have vectors of vector::const_iterator
>
>
> > I think in most cases it would be sufficient to create an empty
> > vector, set it its vector<>::capacity(), and then push_back() new
> > values into it.
>
> That's exactly what I ended up doing in our code.
>
>
> > My naive expectation would be that -D_GLIBCXX_DEBUG_PEDANTIC would
> > cause an abort() for all dectectable undefined behavior. I think
> > most other users would expect this as well, *but* many probably
> > don't realize this extends to aborting on the copy of a singular
> > iterator, much less to aborting on the creation of the vector full
> > of singular iterators. OTOH, some users expect implementations to
> > report errors they don't know about.
>
> As I said, I don't feel strongly way, I'm just confused because I don't see a
> reaonsing behind this particular check. What harm does it do to copy an
> object that you will not be allowed to use anyway?
I can only speculate as to the reasoning behind the check, but the
example is undefined behavior. The check prevents an unsuspecting
user from writing code which may misbehave on another
implementation.
In theory, such code may not be portable to other implementations. In
practice, I don't know of an implementation in which copying an
invalid iterator is a significant problem. But then, I mostly only
use libstdc++ . :-)
I don't really know how far libstdc++ should go in emitting errors for
non-conforming code. I did expect -D_GLIBCXX_DEBUG_PEDANTIC to
cause that abort, and mildly prefer that it continue to do so, but
I don't know how other users would react to it.
> Since the standard says
> that behavior is undefined, we have some leeway in implementing sensible
> behavior, in particular since we know that this can never hurt
> anyone.
I don't see this as being about whether gcc can implement sensible
behavior for this case. My question is, should libstdc++ emit an
error for this case, because some *other* implementation may not
implement a sensible behavior for this case? The safe answer seems
to be yes, but if nobody knows of an implementation where copying
invalid pointers or iterators has bad behavior, maybe it's just
paranoia.
>
> But I'm fine if we decide that this is NAD and that we should close this PR.
> Please feel free to do so if you want.
I'm just an overly talkative observer. I don't close bugs. :-)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (6 preceding siblings ...)
2004-05-20 18:43 ` llewelly at xmission dot com
@ 2004-05-20 18:43 ` sebor at roguewave dot com
2004-05-21 6:17 ` llewelly
2004-05-20 19:27 ` bangerth at ices dot utexas dot edu
` (5 subsequent siblings)
13 siblings, 1 reply; 18+ messages in thread
From: sebor at roguewave dot com @ 2004-05-20 18:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From sebor at roguewave dot com 2004-05-19 18:04 -------
Subject: Re: Can't have vectors of vector::const_iterator
FWIW, library issue 408 deals with something similar:
vector<reverse_iterator<char*> >
http://www.open-std.org/jtc1/sc22/wg21/prot/14882fdis/n1635.html#408
Martin
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (7 preceding siblings ...)
2004-05-20 18:43 ` sebor at roguewave dot com
@ 2004-05-20 19:27 ` bangerth at ices dot utexas dot edu
2004-05-21 9:21 ` llewelly at xmission dot com
` (4 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: bangerth at ices dot utexas dot edu @ 2004-05-20 19:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at ices dot utexas dot edu 2004-05-19 18:28 -------
Subject: Re: Can't have vectors of vector::const_iterator
> I'm just an overly talkative observer. I don't close bugs. :-)
I do quite frequently, but here I'd say it's up to the libstdc++ maintainers.
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ices.utexas.edu
www: http://www.ices.utexas.edu/~bangerth/
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (8 preceding siblings ...)
2004-05-20 19:27 ` bangerth at ices dot utexas dot edu
@ 2004-05-21 9:21 ` llewelly at xmission dot com
2004-05-25 14:33 ` bkoz at gcc dot gnu dot org
` (3 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: llewelly at xmission dot com @ 2004-05-21 9:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From llewelly at xmission dot com 2004-05-20 05:50 -------
Subject: Re: Can't have vectors of vector::const_iterator
"sebor at roguewave dot com" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- Additional Comments From sebor at roguewave dot com 2004-05-19 18:04 -------
> Subject: Re: Can't have vectors of vector::const_iterator
>
> FWIW, library issue 408 deals with something similar:
> vector<reverse_iterator<char*> >
>
> http://www.open-std.org/jtc1/sc22/wg21/prot/14882fdis/n1635.html#408
For those who haven't a comittee username & pw:
http://www.open-std.org/JTC1/SC22/WG21/docs/lwg-active.html#408
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (9 preceding siblings ...)
2004-05-21 9:21 ` llewelly at xmission dot com
@ 2004-05-25 14:33 ` bkoz at gcc dot gnu dot org
2004-06-20 6:53 ` [Bug libstdc++/15523] [DR 408] " pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2004-05-25 14:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bkoz at gcc dot gnu dot org 2004-05-24 16:53 -------
I think we should either close this NAD, or suspend while waiting for the
standards committed to figure out precise semantics.
Since 14990 is suspended for similar reasons, I suggest suspending.
-benjamin
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] [DR 408] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (10 preceding siblings ...)
2004-05-25 14:33 ` bkoz at gcc dot gnu dot org
@ 2004-06-20 6:53 ` pinskia at gcc dot gnu dot org
2004-06-20 6:53 ` pinskia at gcc dot gnu dot org
2005-01-13 13:30 ` polzin_spamprotect_ at gmx dot de
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-20 6:53 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-06-20 06:53 -------
Confirming to ...
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-06-20 06:53:01
date| |
Summary|Can't have vectors of |[DR 408] Can't have vectors
|vector::const_iterator |of vector::const_iterator
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] [DR 408] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (11 preceding siblings ...)
2004-06-20 6:53 ` [Bug libstdc++/15523] [DR 408] " pinskia at gcc dot gnu dot org
@ 2004-06-20 6:53 ` pinskia at gcc dot gnu dot org
2005-01-13 13:30 ` polzin_spamprotect_ at gmx dot de
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-20 6:53 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-06-20 06:53 -------
suspending while waiting.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |SUSPENDED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug libstdc++/15523] [DR 408] Can't have vectors of vector::const_iterator
2004-05-19 12:25 [Bug libstdc++/15523] New: Can't have vectors of vector::const_iterator bangerth at dealii dot org
` (12 preceding siblings ...)
2004-06-20 6:53 ` pinskia at gcc dot gnu dot org
@ 2005-01-13 13:30 ` polzin_spamprotect_ at gmx dot de
13 siblings, 0 replies; 18+ messages in thread
From: polzin_spamprotect_ at gmx dot de @ 2005-01-13 13:30 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 615 bytes --]
------- Additional Comments From polzin_spamprotect_ at gmx dot de 2005-01-13 13:30 -------
I just want to add the information that unfortunately already
"-D_GLIBCXX_DEBUG" turns on the abort, you don't need the PEDANTIC.
I find this annoying, because in my case rewriting is not so easy, because
I store a struct of different iterators in a vector, and this information
is gathered together one after the other and there is no scope, where all
containers exist together. Thus, it´s not possible to initialize the struct
without a GLIBCXX_DEBUG abort.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15523
^ permalink raw reply [flat|nested] 18+ messages in thread