public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
@ 2021-11-23 12:28 redi at gcc dot gnu.org
2021-11-23 12:58 ` [Bug libstdc++/103381] " cvs-commit at gcc dot gnu.org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2021-11-23 12:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
Bug ID: 103381
Summary: [9/10/11/12 Regression]
--enable-libstdcxx-allocator=bitmap doesn't build
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: build
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
<ext/bitmap_allocator.h> includes <function> which includes <unordered_map> in
C++17 mode. If std::allocator is defined in terms of bitmap_allocator then you
get a circular reference and bootstrap fails.
Clearly nobody has tried to use --enable-libstdcxx-allocator=bitmap in several
years.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
@ 2021-11-23 12:58 ` cvs-commit at gcc dot gnu.org
2021-11-23 12:58 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-23 12:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:5459fa132a99e6037e5ccf1b49d617677a584ff8
commit r12-5470-g5459fa132a99e6037e5ccf1b49d617677a584ff8
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Nov 23 12:28:22 2021 +0000
libstdc++: Fix circular dependency for bitmap_allocator [PR103381]
<ext/bitmap_allocator.h> includes <function>, and since C++17 that
includes <unordered_map>. If std::allocator is defined in terms of
__gnu_cxx::bitmap_allocator then you get a circular reference and
bootstrap fails when compiling src/c++17/*.cc.
libstdc++-v3/ChangeLog:
PR libstdc++/103381
* include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
instead of <functional>.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
2021-11-23 12:58 ` [Bug libstdc++/103381] " cvs-commit at gcc dot gnu.org
@ 2021-11-23 12:58 ` rguenth at gcc dot gnu.org
2021-11-23 12:59 ` [Bug libstdc++/103381] [9/10/11 " redi at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-11-23 12:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |9.5
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
2021-11-23 12:58 ` [Bug libstdc++/103381] " cvs-commit at gcc dot gnu.org
2021-11-23 12:58 ` rguenth at gcc dot gnu.org
@ 2021-11-23 12:59 ` redi at gcc dot gnu.org
2021-11-23 13:02 ` redi at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2021-11-23 12:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2021-11-23
Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (2 preceding siblings ...)
2021-11-23 12:59 ` [Bug libstdc++/103381] [9/10/11 " redi at gcc dot gnu.org
@ 2021-11-23 13:02 ` redi at gcc dot gnu.org
2021-11-23 21:17 ` cvs-commit at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2021-11-23 13:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This fixes bootstrap, but there are still hundreds of FAILs.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (3 preceding siblings ...)
2021-11-23 13:02 ` redi at gcc dot gnu.org
@ 2021-11-23 21:17 ` cvs-commit at gcc dot gnu.org
2021-11-23 23:24 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-23 21:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:
https://gcc.gnu.org/g:9a7308bac8c9a90c153a6f25f0c9bf7e2a0f2e73
commit r11-9269-g9a7308bac8c9a90c153a6f25f0c9bf7e2a0f2e73
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Nov 23 12:28:22 2021 +0000
libstdc++: Fix circular dependency for bitmap_allocator [PR103381]
<ext/bitmap_allocator.h> includes <function>, and since C++17 that
includes <unordered_map>. If std::allocator is defined in terms of
__gnu_cxx::bitmap_allocator then you get a circular reference and
bootstrap fails when compiling src/c++17/*.cc.
libstdc++-v3/ChangeLog:
PR libstdc++/103381
* include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
instead of <functional>.
(cherry picked from commit 5459fa132a99e6037e5ccf1b49d617677a584ff8)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (4 preceding siblings ...)
2021-11-23 21:17 ` cvs-commit at gcc dot gnu.org
@ 2021-11-23 23:24 ` redi at gcc dot gnu.org
2021-11-23 23:49 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2021-11-23 23:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Every test fails with:
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<unsigned int>::_S_last_request'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<std::_Sp_counted_ptr_inplace<std::mutex,
std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >::_S_mut'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<std::_Sp_counted_ptr_inplace<std::__future_base::_State_baseV2,
std::allocator<std::__future_base::_State_baseV2>, (__gnu_cxx::_Lock_policy)2>
>::_S_mut'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<std::_Sp_counted_ptr_inplace<std::mutex,
std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >::_S_mem_blocks'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<std::_Sp_counted_ptr_inplace<std::__future_base::_State_baseV2,
std::allocator<std::__future_base::_State_baseV2>, (__gnu_cxx::_Lock_policy)2>
>::_S_last_request'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<unsigned int>::_S_mut'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<unsigned int>::_S_mem_blocks'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<std::_Sp_counted_ptr_inplace<std::mutex,
std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >::_S_last_request'
/usr/bin/ld: .../libstdc++-v3/src/.libs/libstdc++.so: undefined reference to
`__gnu_cxx::bitmap_allocator<std::_Sp_counted_ptr_inplace<std::__future_base::_State_baseV2,
std::allocator<std::__future_base::_State_baseV2>, (__gnu_cxx::_Lock_policy)2>
>::_S_mem_blocks'
So this configure option seems broken, and nobody seems to have noticed.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (5 preceding siblings ...)
2021-11-23 23:24 ` redi at gcc dot gnu.org
@ 2021-11-23 23:49 ` cvs-commit at gcc dot gnu.org
2021-11-24 0:01 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-23 23:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:
https://gcc.gnu.org/g:0a7a68872b425afb015d499c879e709fdd32616b
commit r10-10290-g0a7a68872b425afb015d499c879e709fdd32616b
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Nov 23 12:28:22 2021 +0000
libstdc++: Fix circular dependency for bitmap_allocator [PR103381]
<ext/bitmap_allocator.h> includes <function>, and since C++17 that
includes <unordered_map>. If std::allocator is defined in terms of
__gnu_cxx::bitmap_allocator then you get a circular reference and
bootstrap fails when compiling src/c++17/*.cc.
libstdc++-v3/ChangeLog:
PR libstdc++/103381
* include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
instead of <functional>.
(cherry picked from commit 5459fa132a99e6037e5ccf1b49d617677a584ff8)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (6 preceding siblings ...)
2021-11-23 23:49 ` cvs-commit at gcc dot gnu.org
@ 2021-11-24 0:01 ` cvs-commit at gcc dot gnu.org
2021-11-24 0:02 ` redi at gcc dot gnu.org
2021-12-02 16:53 ` cvs-commit at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-24 0:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:
https://gcc.gnu.org/g:4a641becb2c8fdca4e9c113b2dcf6cc5e8a6c04a
commit r9-9840-g4a641becb2c8fdca4e9c113b2dcf6cc5e8a6c04a
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Nov 23 12:28:22 2021 +0000
libstdc++: Fix circular dependency for bitmap_allocator [PR103381]
<ext/bitmap_allocator.h> includes <function>, and since C++17 that
includes <unordered_map>. If std::allocator is defined in terms of
__gnu_cxx::bitmap_allocator then you get a circular reference and
bootstrap fails when compiling src/c++17/*.cc.
libstdc++-v3/ChangeLog:
PR libstdc++/103381
* include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
instead of <functional>.
(cherry picked from commit 5459fa132a99e6037e5ccf1b49d617677a584ff8)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (7 preceding siblings ...)
2021-11-24 0:01 ` cvs-commit at gcc dot gnu.org
@ 2021-11-24 0:02 ` redi at gcc dot gnu.org
2021-12-02 16:53 ` cvs-commit at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2021-11-24 0:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The bootstrap failure is fixed. The linker error can be tracked by PR 103400
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libstdc++/103381] [9/10/11 Regression] --enable-libstdcxx-allocator=bitmap doesn't build
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
` (8 preceding siblings ...)
2021-11-24 0:02 ` redi at gcc dot gnu.org
@ 2021-12-02 16:53 ` cvs-commit at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-12-02 16:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103381
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:e2e98f524fdb80c16e3395f20fee930fbcad5562
commit r12-5754-ge2e98f524fdb80c16e3395f20fee930fbcad5562
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Wed Dec 1 16:30:30 2021 +0000
libstdc++: Remove broken std::allocator base classes [PR103340]
The bitmap_allocator, __mt_alloc and __pool_alloc extensions are no
longer suitable for use as the base class of std::allocator, because
they have not been updated to meet the C++20 requirements. There is a
patch attached to PR 103340 which addresses that, but more work would be
needed to solve the linking errors that occur when the library is
configured to use them.
Using --enable-libstdcxx-allocator=bitmap wouldn't even bootstrap for
the past few years, and I can't find any gcc-testresults reports using
any of these allocators. This patch removes the configure option to use
these as the std::allocator base class. The allocators are still in the
tree and can be used directly, you just can't configure the library to
use one of them as the base class of std::allocator.
libstdc++-v3/ChangeLog:
PR libstdc++/103340
PR libstdc++/103400
PR libstdc++/103381
* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap
and pool options.
* configure: Regenerate.
* config/allocator/bitmap_allocator_base.h: Removed.
* config/allocator/mt_allocator_base.h: Removed.
* config/allocator/pool_allocator_base.h: Removed.
* doc/xml/manual/allocator.xml: Update.
* doc/xml/manual/configure.xml: Update.
* doc/xml/manual/evolution.xml: Document removal.
* doc/xml/manual/mt_allocator.xml: Editorial tweaks.
* doc/html/manual/*: Regenerate.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-12-02 16:53 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-23 12:28 [Bug libstdc++/103381] New: [9/10/11/12 Regression] --enable-libstdcxx-allocator=bitmap doesn't build redi at gcc dot gnu.org
2021-11-23 12:58 ` [Bug libstdc++/103381] " cvs-commit at gcc dot gnu.org
2021-11-23 12:58 ` rguenth at gcc dot gnu.org
2021-11-23 12:59 ` [Bug libstdc++/103381] [9/10/11 " redi at gcc dot gnu.org
2021-11-23 13:02 ` redi at gcc dot gnu.org
2021-11-23 21:17 ` cvs-commit at gcc dot gnu.org
2021-11-23 23:24 ` redi at gcc dot gnu.org
2021-11-23 23:49 ` cvs-commit at gcc dot gnu.org
2021-11-24 0:01 ` cvs-commit at gcc dot gnu.org
2021-11-24 0:02 ` redi at gcc dot gnu.org
2021-12-02 16:53 ` cvs-commit 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).