public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686)
@ 2020-10-02 15:00 rascmoo at gmail dot com
2020-10-02 16:55 ` [Bug libstdc++/97273] [8/9/10/11 Regression] " redi at gcc dot gnu.org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: rascmoo at gmail dot com @ 2020-10-02 15:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
Bug ID: 97273
Summary: Strange behaviour of unordered_set when vector is
included (i686)
Product: gcc
Version: 10.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rascmoo at gmail dot com
Target Milestone: ---
Created attachment 49302
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49302&action=edit
A few simple source files demonstrating the problem, plus a .ii file generated
on my system
Hello,
I have recently been diagnosing a fault with the 32-bit build of an
application, and this has led me to find some strange behaviour with
unordered_set, when compiling for 32-bit x86 (i686). I have included an example
which demonstrates the behaviour.
Consider the following small program:
#include <unordered_set>
#include <cstdint>
uint64_t getBegin(const std::unordered_set<uint64_t> & set) {
return *set.begin();
}
It returns the first value in a uint64_t unordered_set. This can be compiled
into a shared library with the following command:
g++ -Wall -Wextra -fpic -shared -Os Working.cpp -o libworking.so
This works as intended on all 32 and 64 bit systems which I have tested it on,
and on all optimisation levels.
However, consider the next small program:
#include <vector>
#include <unordered_set>
#include <cstdint>
uint64_t getBegin(const std::unordered_set<uint64_t> & set) {
return *set.begin();
}
The only change is the addition of a "#include <vector>". This ought not to
have any impact on the program, and it ought to work exactly the same. It can
also be compiled into a shared library with the following command:
g++ -Wall -Wextra -fpic -shared -Os Broken.cpp -o libbroken.so
Indeed, when compiled on a 64 bit x86 system there is no difference - both
functions work as intended. However, when compiled either natively on a 32-bit
x86 system, or cross compiled to 32-bit using the "-m32" flag, "*set.begin()"
returns an incorrect value.
I tested both of these with the following simple test program:
#include <unordered_set>
#include <iostream>
uint64_t getBegin(const std::unordered_set<uint64_t> & set);
int main(void) {
std::unordered_set<uint64_t> set({1, 2, 3, 4, 5, 6, 7});
std::cout << getBegin(set) << "\n";
}
Which can be compiled using the following commands (linking to either working
or broken versions respectively):
g++ -Wall -Wextra -Os test.cpp -L. -lworking -o test
g++ -Wall -Wextra -Os test.cpp -L. -lbroken -o test
Both versions work correctly when compiled and running natively on a 64-bit x86
system, (they print "7"). But, when when either compiled with "-m32" on a
64-bit system, or compiled and running natively on a 32-bit x86 system, the
second (broken) variant prints "30064771072". This is certainly not one of the
numbers in the unordered_set.
I have reproduced the problem across several different 32-bit and 64-bit
systems. These are the versions reported by g++ --version, on the systems which
I have tried:
Debian 10 (stable):
g++ (Debian 8.3.0-6) 8.3.0
Debian 11 (testing):
g++ (Debian 10.2.0-9) 10.2.0
Fedora 32 (Workstation Edition):
g++ (GCC) 10.2.1 20200723 (Red Hat 10.2.1-1)
Some source files and a simple makefile, which can reproduce the problem, are
attached.
I have also included the .ii file which is produced when running the following
command, on the broken variant of the function:
g++ -save-temps -m32 -Wall -Wextra -fpic -shared -Os Broken.cpp -o libbroken.so
Other things which I have noticed:
> The problem happens with optimisation levels O1, O2, O3, Os and Ofast, but
does not occur with O0.
> The problem occurs whenever vector is included BEFORE unordered_set. If
vector is included after unordered_set, behaviour is correct.
> When broken, the memory address pointed to by the iterator returned by
begin(), seems to always be wrong by 4 bytes, (4 bytes before the address which
it should be).
> When I compared the assembly output of the two functions, the offsets in
three movl instructions differ - see below. I assume this is causing the wrong
address to be returned.
Working version:
movl 8(%eax), %eax # MEM[(struct _Hash_node_base * *)set_2(D) + 8B],
MEM[(struct _Hash_node_base * *)set_2(D) + 8B]
movl 12(%eax), %edx # MEM[(const long long unsigned int &)_4 + 8],
MEM[(const long long unsigned int &)_4 + 8]
movl 8(%eax), %eax # MEM[(const long long unsigned int &)_4 + 8],
MEM[(const long long unsigned int &)_4 + 8]
Broken version:
movl 8(%eax), %eax # MEM[(struct _Hash_node_base * *)set_2(D) + 8B],
MEM[(struct _Hash_node_base * *)set_2(D) + 8B]
movl 8(%eax), %edx # MEM[(const long long unsigned int &)_4 + 4],
MEM[(const long long unsigned int &)_4 + 4]
movl 4(%eax), %eax # MEM[(const long long unsigned int &)_4 + 4],
MEM[(const long long unsigned int &)_4 + 4]
If there is any more information about this problem which you require, then
please let me know.
Thank you very much,
Dan Wilson.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9/10/11 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
@ 2020-10-02 16:55 ` redi at gcc dot gnu.org
2020-10-03 4:31 ` ppalka at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2020-10-02 16:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Known to work| |7.5.0
Target Milestone|--- |8.5
Last reconfirmed| |2020-10-02
Known to fail| |10.2.1, 11.0, 8.4.1, 9.3.1
Status|UNCONFIRMED |NEW
Summary|Strange behaviour of |[8/9/10/11 Regression]
|unordered_set when vector |Strange behaviour of
|is included (i686) |unordered_set when vector
| |is included (i686)
Ever confirmed|0 |1
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I've been trying to reduce this a bit. So far I've cut it down to:
#include <bits/stl_algobase.h>
#include <bits/allocator.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_vector.h>
#include <unordered_set>
#include <cstdint>
uint64_t getBegin(const std::unordered_set<uint64_t> & set) {
return *set.begin();
}
which is less than everything in <vector> and still generates the bad code:
_3 = MEM[(const long long unsigned int &)_4 + 4];
The problem appeared between gcc 7 and gcc 8, apparently due to something added
in the libstdc++ headers. But I'm not sure yet if the actual bug is in the
compiler or library.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9/10/11 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
2020-10-02 16:55 ` [Bug libstdc++/97273] [8/9/10/11 Regression] " redi at gcc dot gnu.org
@ 2020-10-03 4:31 ` ppalka at gcc dot gnu.org
2020-10-03 22:07 ` ppalka at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ppalka at gcc dot gnu.org @ 2020-10-03 4:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ppalka at gcc dot gnu.org
--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
It looks like the bug is that cp_tree_equal considers __alignof__(FOO) the same
as alignof(FOO), but they have different semantics ever since the fix for
PR69650.
This manifests here because when <vector> is included before <unordered_set>,
the specialization cache conflates the dependent specialization
aligned_storage<sizeof(_Tp), alignof(_Tp)>
used in include/bits/stl_vector.h:1726 with the later dependent specialization
aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
used in include/ext/aligned_buffer.h:91. We later instantiate the latter type
with _Tp=uint64_t as part of the implementation of unordered_set<uint64_t>, but
4 == alignof(uint64_t) != __alignof__(uint64_t) == 8 on x86 so our assumptions
about the alignment of the type become incoherent.
I think PR88115 reports the same issue.
The following patch to cp_tree_equal seems to fix it:
gcc/cp/tree.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 8b7c6798ee9..8ed9eed1ea5 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -3787,8 +3787,11 @@ cp_tree_equal (tree t1, tree t2)
return true;
}
- case SIZEOF_EXPR:
case ALIGNOF_EXPR:
+ if (ALIGNOF_EXPR_STD_P (t1) != ALIGNOF_EXPR_STD_P (t2))
+ return false;
+ /* Fall through. */
+ case SIZEOF_EXPR:
{
tree o1 = TREE_OPERAND (t1, 0);
tree o2 = TREE_OPERAND (t2, 0);
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9/10/11 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
2020-10-02 16:55 ` [Bug libstdc++/97273] [8/9/10/11 Regression] " redi at gcc dot gnu.org
2020-10-03 4:31 ` ppalka at gcc dot gnu.org
@ 2020-10-03 22:07 ` ppalka at gcc dot gnu.org
2020-10-05 3:33 ` ppalka at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ppalka at gcc dot gnu.org @ 2020-10-03 22:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9/10/11 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (2 preceding siblings ...)
2020-10-03 22:07 ` ppalka at gcc dot gnu.org
@ 2020-10-05 3:33 ` ppalka at gcc dot gnu.org
2020-10-07 14:52 ` cvs-commit at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ppalka at gcc dot gnu.org @ 2020-10-05 3:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
--- Comment #3 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Patch posted:
https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555465.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9/10/11 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (3 preceding siblings ...)
2020-10-05 3:33 ` ppalka at gcc dot gnu.org
@ 2020-10-07 14:52 ` cvs-commit at gcc dot gnu.org
2020-10-08 23:32 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-10-07 14:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:592fe221735bdaa375b1834dd49ce125d0b600d8
commit r11-3704-g592fe221735bdaa375b1834dd49ce125d0b600d8
Author: Patrick Palka <ppalka@redhat.com>
Date: Wed Oct 7 10:49:00 2020 -0400
c++: Distinguish alignof and __alignof__ in cp_tree_equal [PR97273]
cp_tree_equal currently considers alignof the same as __alignof__, but
these operators are semantically different ever since r8-7957. In the
testcase below, this causes the second static_assert to fail on targets
where alignof(double) != __alignof__(double) because the specialization
table (which uses cp_tree_equal as its equality predicate) conflates the
two dependent specializations integral_constant<__alignof__(T)> and
integral_constant<alignof(T)>.
This patch makes cp_tree_equal distinguish between these two operators
by inspecting the ALIGNOF_EXPR_STD_P flag.
gcc/cp/ChangeLog:
PR c++/88115
PR libstdc++/97273
* tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Return false if
ALIGNOF_EXPR_STD_P differ.
gcc/testsuite/ChangeLog:
PR c++/88115
PR libstdc++/97273
* g++.dg/template/alignof3.C: New test.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9/10/11 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (4 preceding siblings ...)
2020-10-07 14:52 ` cvs-commit at gcc dot gnu.org
@ 2020-10-08 23:32 ` cvs-commit at gcc dot gnu.org
2020-10-08 23:33 ` [Bug libstdc++/97273] [8/9 " ppalka at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-10-08 23:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Patrick Palka
<ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:aeb69dda51e93379fce10fb03ec57650fbf73f31
commit r10-8872-gaeb69dda51e93379fce10fb03ec57650fbf73f31
Author: Patrick Palka <ppalka@redhat.com>
Date: Thu Oct 8 19:31:57 2020 -0400
c++: Distinguish alignof and __alignof__ in cp_tree_equal [PR97273]
cp_tree_equal currently considers alignof the same as __alignof__, but
these operators are semantically different ever since r8-7957. In the
testcase below, this causes the second static_assert to fail on targets
where alignof(double) != __alignof__(double) because the specialization
table (which uses cp_tree_equal as its equality predicate) conflates the
two dependent specializations integral_constant<__alignof__(T)> and
integral_constant<alignof(T)>.
This patch makes cp_tree_equal distinguish between these two operators
by inspecting the ALIGNOF_EXPR_STD_P flag.
gcc/cp/ChangeLog:
PR c++/88115
PR libstdc++/97273
* tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Return false if
ALIGNOF_EXPR_STD_P differ.
gcc/testsuite/ChangeLog:
PR c++/88115
PR libstdc++/97273
* g++.dg/template/alignof3.C: New test.
(cherry picked from commit 592fe221735bdaa375b1834dd49ce125d0b600d8)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (5 preceding siblings ...)
2020-10-08 23:32 ` cvs-commit at gcc dot gnu.org
@ 2020-10-08 23:33 ` ppalka at gcc dot gnu.org
2020-11-13 14:23 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ppalka at gcc dot gnu.org @ 2020-10-08 23:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10/11 Regression] |[8/9 Regression] Strange
|Strange behaviour of |behaviour of unordered_set
|unordered_set when vector |when vector is included
|is included (i686) |(i686)
--- Comment #6 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Fixed for GCC 11 and 10.3 so far.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (6 preceding siblings ...)
2020-10-08 23:33 ` [Bug libstdc++/97273] [8/9 " ppalka at gcc dot gnu.org
@ 2020-11-13 14:23 ` cvs-commit at gcc dot gnu.org
2021-04-21 12:08 ` cvs-commit at gcc dot gnu.org
2021-04-21 12:08 ` ppalka at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-11-13 14:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Patrick Palka
<ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:9df05884b3a30d32744a070d3fc5780b7323231a
commit r9-9043-g9df05884b3a30d32744a070d3fc5780b7323231a
Author: Patrick Palka <ppalka@redhat.com>
Date: Wed Oct 7 10:49:00 2020 -0400
c++: Distinguish alignof and __alignof__ in cp_tree_equal [PR97273]
cp_tree_equal currently considers alignof the same as __alignof__, but
these operators are semantically different ever since r8-7957. In the
testcase below, this causes the second static_assert to fail on targets
where alignof(double) != __alignof__(double) because the specialization
table (which uses cp_tree_equal as its equality predicate) conflates the
two dependent specializations integral_constant<__alignof__(T)> and
integral_constant<alignof(T)>.
This patch makes cp_tree_equal distinguish between these two operators
by inspecting the ALIGNOF_EXPR_STD_P flag.
gcc/cp/ChangeLog:
PR c++/88115
PR libstdc++/97273
* tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Return false if
ALIGNOF_EXPR_STD_P differ.
gcc/testsuite/ChangeLog:
PR c++/88115
PR libstdc++/97273
* g++.dg/template/alignof3.C: New test.
(cherry picked from commit 592fe221735bdaa375b1834dd49ce125d0b600d8)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (7 preceding siblings ...)
2020-11-13 14:23 ` cvs-commit at gcc dot gnu.org
@ 2021-04-21 12:08 ` cvs-commit at gcc dot gnu.org
2021-04-21 12:08 ` ppalka at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-21 12:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Patrick Palka
<ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:a34c19926b87f9cadd5ea84f5c5b93ae76b14558
commit r8-10855-ga34c19926b87f9cadd5ea84f5c5b93ae76b14558
Author: Patrick Palka <ppalka@redhat.com>
Date: Wed Oct 7 10:49:00 2020 -0400
c++: Distinguish alignof and __alignof__ in cp_tree_equal [PR97273]
cp_tree_equal currently considers alignof the same as __alignof__, but
these operators are semantically different ever since r8-7957. In the
testcase below, this causes the second static_assert to fail on targets
where alignof(double) != __alignof__(double) because the specialization
table (which uses cp_tree_equal as its equality predicate) conflates the
two dependent specializations integral_constant<__alignof__(T)> and
integral_constant<alignof(T)>.
This patch makes cp_tree_equal distinguish between these two operators
by inspecting the ALIGNOF_EXPR_STD_P flag.
gcc/cp/ChangeLog:
PR c++/88115
PR libstdc++/97273
* tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Return false if
ALIGNOF_EXPR_STD_P differ.
gcc/testsuite/ChangeLog:
PR c++/88115
PR libstdc++/97273
* g++.dg/template/alignof3.C: New test.
(cherry picked from commit 592fe221735bdaa375b1834dd49ce125d0b600d8)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/97273] [8/9 Regression] Strange behaviour of unordered_set when vector is included (i686)
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
` (8 preceding siblings ...)
2021-04-21 12:08 ` cvs-commit at gcc dot gnu.org
@ 2021-04-21 12:08 ` ppalka at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: ppalka at gcc dot gnu.org @ 2021-04-21 12:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97273
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #9 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-04-21 12:08 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-02 15:00 [Bug libstdc++/97273] New: Strange behaviour of unordered_set when vector is included (i686) rascmoo at gmail dot com
2020-10-02 16:55 ` [Bug libstdc++/97273] [8/9/10/11 Regression] " redi at gcc dot gnu.org
2020-10-03 4:31 ` ppalka at gcc dot gnu.org
2020-10-03 22:07 ` ppalka at gcc dot gnu.org
2020-10-05 3:33 ` ppalka at gcc dot gnu.org
2020-10-07 14:52 ` cvs-commit at gcc dot gnu.org
2020-10-08 23:32 ` cvs-commit at gcc dot gnu.org
2020-10-08 23:33 ` [Bug libstdc++/97273] [8/9 " ppalka at gcc dot gnu.org
2020-11-13 14:23 ` cvs-commit at gcc dot gnu.org
2021-04-21 12:08 ` cvs-commit at gcc dot gnu.org
2021-04-21 12:08 ` ppalka at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).