[gcc r11-9269] libstdc++: Fix circular dependency for bitmap_allocator [PR103381]

Jonathan Wakely redi@gcc.gnu.org
Tue Nov 23 21:17:50 GMT 2021


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)

Diff:
---
 libstdc++-v3/include/ext/bitmap_allocator.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index cc80593764c..0444deb479c 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -31,7 +31,7 @@
 
 #include <utility> // For std::pair.
 #include <bits/functexcept.h> // For __throw_bad_alloc().
-#include <functional> // For greater_equal, and less_equal.
+#include <bits/stl_function.h> // For greater_equal, and less_equal.
 #include <new> // For operator new.
 #include <debug/debug.h> // _GLIBCXX_DEBUG_ASSERT
 #include <ext/concurrence.h>


More information about the Libstdc++-cvs mailing list