]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Adjust precompiled headers for freestanding
authorJonathan Wakely <jwakely@redhat.com>
Tue, 20 Sep 2022 12:30:43 +0000 (13:30 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 3 Oct 2022 14:43:48 +0000 (15:43 +0100)
Co-authored-by: Arsen Arsenović <arsen@aarsen.me>
libstdc++-v3/ChangeLog:

* include/precompiled/extc++.h [!_GLIBCXX_HOSTED]: Do not
include headers that aren't valid for freestanding.
* include/precompiled/stdc++.h [!_GLIBCXX_HOSTED]: Likewise.

libstdc++-v3/include/precompiled/extc++.h
libstdc++-v3/include/precompiled/stdc++.h

index 7fe707380424f7c36e4fa6170dd44ba071f66ab5..b094701aafb50e25204de37049c700bdb5bc4d94 100644 (file)
 #include <bits/stdc++.h>
 #endif
 
-#include <ext/algorithm>
 #if __cplusplus >= 201103L
 # include <ext/aligned_buffer.h>
 #endif
 #include <ext/alloc_traits.h>
 #include <ext/atomicity.h>
-#include <ext/bitmap_allocator.h>
 #include <ext/cast.h>
+#include <ext/iterator>
+#include <ext/numeric_traits.h>
+#include <ext/pointer.h>
+#include <ext/typelist.h>
+#include <ext/type_traits.h>
+
+#if _GLIBCXX_HOSTED
+#include <ext/algorithm>
+#include <ext/bitmap_allocator.h>
 #if __cplusplus >= 201103L
 # include <ext/cmath>
 #endif
 #include <ext/debug_allocator.h>
 #include <ext/extptr_allocator.h>
 #include <ext/functional>
-#include <ext/iterator>
 #include <ext/malloc_allocator.h>
 #include <ext/memory>
 #include <ext/mt_allocator.h>
 #include <ext/new_allocator.h>
 #include <ext/numeric>
-#include <ext/numeric_traits.h>
 #include <ext/pod_char_traits.h>
-#include <ext/pointer.h>
 #include <ext/pool_allocator.h>
 #if __cplusplus >= 201103L
 # include <ext/random>
@@ -66,8 +70,6 @@
 #include <ext/stdio_filebuf.h>
 #include <ext/stdio_sync_filebuf.h>
 #include <ext/throw_allocator.h>
-#include <ext/typelist.h>
-#include <ext/type_traits.h>
 #include <ext/vstring.h>
 #include <ext/pb_ds/assoc_container.hpp>
 #include <ext/pb_ds/priority_queue.hpp>
@@ -81,3 +83,4 @@
  #include <ext/codecvt_specializations.h>
  #include <ext/enc_filebuf.h>
 #endif
+#endif // HOSTED
index 5ee1244dc22a49e1ebaf478fee2baad3b51ddad5..bfbb1654b8839a5c43f3737d7212c273b890b619 100644 (file)
 
 // 17.4.1.2 Headers
 
+// C
+#ifndef _GLIBCXX_NO_ASSERT
+#include <cassert>
+#endif
+#include <cctype>
+#include <cfloat>
+#include <ciso646>
+#include <climits>
+#include <csetjmp>
+#include <cstdarg>
+#include <cstddef>
+#include <cstdlib>
+
+#if __cplusplus >= 201103L
+#include <cstdint>
+#endif
+
+// C++
+// #include <bitset>
+// #include <complex>
+#include <algorithm>
+#include <bitset>
+#include <functional>
+#include <iterator>
+#include <limits>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <typeinfo>
+#include <utility>
+
+#if __cplusplus >= 201103L
+#include <array>
+#include <atomic>
+#include <initializer_list>
+#include <ratio>
+#include <scoped_allocator>
+#include <tuple>
+#include <typeindex>
+#include <type_traits>
+#endif
+
+#if __cplusplus >= 201402L
+#endif
+
+#if __cplusplus >= 201703L
+#include <any>
+#include <charconv>
+// #include <execution>
+#include <optional>
+#include <variant>
+#endif
+
+#if __cplusplus >= 202002L
+#include <bit>
+#include <compare>
+#include <concepts>
+#include <numbers>
+#include <ranges>
+#include <span>
+#include <source_location>
+#include <version>
+#endif
+
+#if __cplusplus > 202002L
+#include <expected>
+#include <stdatomic.h>
+#if __cpp_impl_coroutine
+# include <coroutine>
+#endif
+#endif
+
+
+#if _GLIBCXX_HOSTED
 // C
 #ifndef _GLIBCXX_NO_ASSERT
 #include <cassert>
 #endif
 
 // C++
-#include <algorithm>
-#include <bitset>
 #include <complex>
 #include <deque>
 #include <exception>
 #include <bit>
 #include <compare>
 #include <concepts>
-#if __cpp_impl_coroutine
-# include <coroutine>
-#endif
 #include <latch>
 #include <numbers>
 #include <ranges>
 #endif
 #include <stdatomic.h>
 #endif
+
+#endif // HOSTED