diff options
author | Arsen Arsenović <arsen@aarsen.me> | 2022-09-19 21:54:49 +0200 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-10-03 15:43:48 +0100 |
commit | 18f176d0b25591e2880bc5ef453ce0834f9e0e2a (patch) | |
tree | 922b20453d486749393bf9161b96f40125caaf33 /libstdc++-v3/include/ext | |
parent | 06b3c0fad1b5fe7b72e666c336595c6324933960 (diff) | |
download | gcc-18f176d0b25591e2880bc5ef453ce0834f9e0e2a.zip gcc-18f176d0b25591e2880bc5ef453ce0834f9e0e2a.tar.gz gcc-18f176d0b25591e2880bc5ef453ce0834f9e0e2a.tar.bz2 |
libstdc++: Mark headers that must be hosted as such [PR103626]
PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding
Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
PR libstdc++/103626
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/requires_hosted.h: New header.
* include/experimental/algorithm: Include
<bits/requires_hosted.h>.
* include/experimental/any: Likewise.
* include/experimental/array: Likewise.
* include/experimental/buffer: Likewise.
* include/experimental/chrono: Likewise.
* include/experimental/deque: Likewise.
* include/experimental/executor: Likewise.
* include/experimental/filesystem: Likewise.
* include/experimental/forward_list: Likewise.
* include/experimental/functional: Likewise.
* include/experimental/internet: Likewise.
* include/experimental/io_context: Likewise.
* include/experimental/iterator: Likewise.
* include/experimental/list: Likewise.
* include/experimental/map: Likewise.
* include/experimental/memory: Likewise.
* include/experimental/memory_resource: Likewise.
* include/experimental/net: Likewise.
* include/experimental/netfwd: Likewise.
* include/experimental/numeric: Likewise.
* include/experimental/optional: Likewise.
* include/experimental/propagate_const: Likewise.
* include/experimental/random: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/regex: Likewise.
* include/experimental/scope: Likewise.
* include/experimental/set: Likewise.
* include/experimental/simd: Likewise.
* include/experimental/socket: Likewise.
* include/experimental/source_location: Likewise.
* include/experimental/string: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/timer: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
* include/experimental/utility: Likewise.
* include/experimental/vector: Likewise.
* include/std/barrier: Likewise.
* include/std/chrono: Likewise.
* include/std/condition_variable: Likewise.
* include/std/deque: Likewise.
* include/std/execution: Likewise.
* include/std/filesystem: Likewise.
* include/std/forward_list: Likewise.
* include/std/fstream: Likewise.
* include/std/future: Likewise.
* include/std/iomanip: Likewise.
* include/std/ios: Likewise.
* include/std/iosfwd: Likewise.
* include/std/iostream: Likewise.
* include/std/istream: Likewise.
* include/std/latch: Likewise.
* include/std/list: Likewise.
* include/std/locale: Likewise.
* include/std/map: Likewise.
* include/std/memory_resource: Likewise.
* include/std/mutex: Likewise.
* include/std/ostream: Likewise.
* include/std/queue: Likewise.
* include/std/random: Likewise.
* include/std/regex: Likewise.
* include/std/semaphore: Likewise.
* include/std/set: Likewise.
* include/std/shared_mutex: Likewise.
* include/std/spanstream: Likewise.
* include/std/sstream: Likewise.
* include/std/stack: Likewise.
* include/std/stacktrace: Likewise.
* include/std/stop_token: Likewise.
* include/std/streambuf: Likewise.
* include/std/string: Likewise.
* include/std/syncstream: Likewise.
* include/std/system_error: Likewise.
* include/std/thread: Likewise.
* include/std/unordered_map: Likewise.
* include/std/unordered_set: Likewise.
* include/std/valarray: Likewise.
* include/std/vector: Likewise.
* include/tr1/array: Likewise.
* include/tr1/ccomplex: Likewise.
* include/tr1/cctype: Likewise.
* include/tr1/cfenv: Likewise.
* include/tr1/cfloat: Likewise.
* include/tr1/cinttypes: Likewise.
* include/tr1/climits: Likewise.
* include/tr1/cmath: Likewise.
* include/tr1/complex: Likewise.
* include/tr1/complex.h: Likewise.
* include/tr1/cstdarg: Likewise.
* include/tr1/cstdbool: Likewise.
* include/tr1/cstdint: Likewise.
* include/tr1/cstdio: Likewise.
* include/tr1/cstdlib: Likewise.
* include/tr1/ctgmath: Likewise.
* include/tr1/ctime: Likewise.
* include/tr1/ctype.h: Likewise.
* include/tr1/cwchar: Likewise.
* include/tr1/cwctype: Likewise.
* include/tr1/fenv.h: Likewise.
* include/tr1/float.h: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/inttypes.h: Likewise.
* include/tr1/limits.h: Likewise.
* include/tr1/math.h: Likewise.
* include/tr1/memory: Likewise.
* include/tr1/random: Likewise.
* include/tr1/regex: Likewise.
* include/tr1/stdarg.h: Likewise.
* include/tr1/stdbool.h: Likewise.
* include/tr1/stdint.h: Likewise.
* include/tr1/stdio.h: Likewise.
* include/tr1/stdlib.h: Likewise.
* include/tr1/tgmath.h: Likewise.
* include/tr1/tuple: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr1/unordered_map: Likewise.
* include/tr1/unordered_set: Likewise.
* include/tr1/utility: Likewise.
* include/tr1/wchar.h: Likewise.
* include/tr1/wctype.h: Likewise.
* include/c_global/cmath: Likewise.
* include/ext/algorithm: Include <bits/requires_hosted.h>.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/cmath: Likewise.
* include/ext/codecvt_specializations.h: Likewise.
* include/ext/debug_allocator.h: Likewise.
* include/ext/enc_filebuf.h: Likewise.
* include/ext/extptr_allocator.h: Likewise.
* include/ext/functional: Likewise.
* include/ext/malloc_allocator.h: Likewise.
* include/ext/memory: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/numeric: Likewise.
* include/ext/pod_char_traits.h: Likewise.
* include/ext/pool_allocator.h: Likewise.
* include/ext/random: Likewise.
* include/ext/random.tcc: Likewise.
* include/ext/rb_tree: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/ext/slist: Likewise.
* include/ext/sso_string_base.h: Likewise.
* include/ext/stdio_filebuf.h: Likewise.
* include/ext/stdio_sync_filebuf.h: Likewise.
* include/ext/string_conversions.h: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/ext/vstring.tcc: Likewise.
* include/ext/vstring_fwd.h: Likewise.
* include/ext/vstring_util.h: Likewise.
* include/std/charconv: Likewise.
(__cpp_lib_to_chars): Do not define for freestanding.
* include/std/version: Adjust which macros get defined in
freestanding.
* include/ext/pointer.h [!_GLIBCXX_HOSTED]: Omit iostream
functionality from freestanding.
* include/std/algorithm [!_GLIBCXX_HOSTED]: Omit PSTL algos.
* include/std/memory [!_GLIBCXX_HOSTED]: Omit
<bits/stl_tempbuf.h> in freestanding
* include/bits/algorithmfwd.h [!_GLIBCXX_HOSTED]: Omit leftover
random_shuffle and stable_partition definition.
* include/bits/stl_algo.h [!_GLIBCXX_HOSTED]: Omit
random_shuffle and stable_partition from freestanding.
* include/bits/ranges_algo.h [!_GLIBCXX_HOSTED]: Omit
stable_partition from freestanding.
* include/bits/concept_check.h: Remove needless HOSTED check.
* include/std/iterator: Include <bits/ranges_base.h>.
* include/std/numeric (__cpp_lib_parallel_algorithms): Do not
define for freestanding.
* include/std/functional (__cpp_lib_boyer_moore_searcher):
Likewise.
* testsuite/lib/prune.exp: Match error for hosted-only libstdc++
tests.
Diffstat (limited to 'libstdc++-v3/include/ext')
32 files changed, 68 insertions, 1 deletions
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm index f5eced6..65122da 100644 --- a/libstdc++-v3/include/ext/algorithm +++ b/libstdc++-v3/include/ext/algorithm @@ -58,6 +58,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <algorithm> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h index 033f132..80b8fa7 100644 --- a/libstdc++-v3/include/ext/bitmap_allocator.h +++ b/libstdc++-v3/include/ext/bitmap_allocator.h @@ -29,6 +29,8 @@ #ifndef _BITMAP_ALLOCATOR_H #define _BITMAP_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <utility> // For std::pair. #include <bits/functexcept.h> // For __throw_bad_alloc(). #include <bits/stl_function.h> // For greater_equal, and less_equal. diff --git a/libstdc++-v3/include/ext/cmath b/libstdc++-v3/include/ext/cmath index 2291969..2ebad8b 100644 --- a/libstdc++-v3/include/ext/cmath +++ b/libstdc++-v3/include/ext/cmath @@ -31,6 +31,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #if __cplusplus < 201103L # include <bits/c++0x_warning.h> #else diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h index 51b638d..7f733e6 100644 --- a/libstdc++-v3/include/ext/codecvt_specializations.h +++ b/libstdc++-v3/include/ext/codecvt_specializations.h @@ -35,6 +35,8 @@ #ifndef _EXT_CODECVT_SPECIALIZATIONS_H #define _EXT_CODECVT_SPECIALIZATIONS_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/c++config.h> #include <locale> #include <iconv.h> diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h index 3490dca..06c15fb 100644 --- a/libstdc++-v3/include/ext/debug_allocator.h +++ b/libstdc++-v3/include/ext/debug_allocator.h @@ -42,6 +42,8 @@ #ifndef _DEBUG_ALLOCATOR_H #define _DEBUG_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <stdexcept> #include <bits/functexcept.h> #include <ext/alloc_traits.h> diff --git a/libstdc++-v3/include/ext/enc_filebuf.h b/libstdc++-v3/include/ext/enc_filebuf.h index 12869a8..fc3d9a8 100644 --- a/libstdc++-v3/include/ext/enc_filebuf.h +++ b/libstdc++-v3/include/ext/enc_filebuf.h @@ -29,6 +29,8 @@ #ifndef _EXT_ENC_FILEBUF_H #define _EXT_ENC_FILEBUF_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <fstream> #include <locale> #include <ext/codecvt_specializations.h> diff --git a/libstdc++-v3/include/ext/extptr_allocator.h b/libstdc++-v3/include/ext/extptr_allocator.h index 20f746e..ad538c7 100644 --- a/libstdc++-v3/include/ext/extptr_allocator.h +++ b/libstdc++-v3/include/ext/extptr_allocator.h @@ -36,6 +36,8 @@ #ifndef _EXTPTR_ALLOCATOR_H #define _EXTPTR_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <memory> #include <ext/numeric_traits.h> #include <ext/pointer.h> diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional index 19cd8d5..9cf864d 100644 --- a/libstdc++-v3/include/ext/functional +++ b/libstdc++-v3/include/ext/functional @@ -58,6 +58,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <functional> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h index 82b3f0a..6323ed9 100644 --- a/libstdc++-v3/include/ext/malloc_allocator.h +++ b/libstdc++-v3/include/ext/malloc_allocator.h @@ -29,6 +29,8 @@ #ifndef _MALLOC_ALLOCATOR_H #define _MALLOC_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // malloc + #include <cstdlib> #include <cstddef> #include <new> diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory index 105952a..9e0082b 100644 --- a/libstdc++-v3/include/ext/memory +++ b/libstdc++-v3/include/ext/memory @@ -58,6 +58,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <memory> #include <bits/stl_tempbuf.h> diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 393d6eb0a..49743e4 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -29,6 +29,8 @@ #ifndef _MT_ALLOCATOR_H #define _MT_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // getenv + #include <new> #include <cstdlib> #include <bits/functexcept.h> diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h index 96e6523..db8895f 100644 --- a/libstdc++-v3/include/ext/new_allocator.h +++ b/libstdc++-v3/include/ext/new_allocator.h @@ -29,6 +29,8 @@ #ifndef _NEW_ALLOCATOR_H #define _NEW_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/new_allocator.h> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric index 0b2c4ee..1d9f4f4 100644 --- a/libstdc++-v3/include/ext/numeric +++ b/libstdc++-v3/include/ext/numeric @@ -58,6 +58,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/concept_check.h> #include <numeric> diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h index fa0f5b6..95d90f3 100644 --- a/libstdc++-v3/include/ext/pod_char_traits.h +++ b/libstdc++-v3/include/ext/pod_char_traits.h @@ -34,6 +34,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <string> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h index 04804f0..48b7684 100644 --- a/libstdc++-v3/include/ext/pointer.h +++ b/libstdc++-v3/include/ext/pointer.h @@ -38,7 +38,10 @@ #pragma GCC system_header -#include <iosfwd> +#if _GLIBCXX_HOSTED +# include <iosfwd> +#endif + #include <bits/stl_iterator_base_types.h> #include <ext/cast.h> #include <ext/type_traits.h> @@ -559,11 +562,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Pointer_adapter<_Tp>& __rhs) { return !(__lhs._Tp::operator<(__rhs)); } +#if _GLIBCXX_HOSTED template<typename _CharT, typename _Traits, typename _StoreT> inline std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const _Pointer_adapter<_StoreT>& __p) { return (__os << __p.get()); } +#endif // HOSTED _GLIBCXX_END_NAMESPACE_VERSION } // namespace diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h index 8d0f089..f04a88c 100644 --- a/libstdc++-v3/include/ext/pool_allocator.h +++ b/libstdc++-v3/include/ext/pool_allocator.h @@ -42,6 +42,8 @@ #ifndef _POOL_ALLOCATOR_H #define _POOL_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/c++config.h> #include <cstdlib> #include <new> diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random index 50505b8..4cc0e25 100644 --- a/libstdc++-v3/include/ext/random +++ b/libstdc++-v3/include/ext/random @@ -31,6 +31,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #if __cplusplus < 201103L # include <bits/c++0x_warning.h> #else diff --git a/libstdc++-v3/include/ext/random.tcc b/libstdc++-v3/include/ext/random.tcc index 71ceea8..7274e0d 100644 --- a/libstdc++-v3/include/ext/random.tcc +++ b/libstdc++-v3/include/ext/random.tcc @@ -32,6 +32,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree index b61c45b..dd685fb 100644 --- a/libstdc++-v3/include/ext/rb_tree +++ b/libstdc++-v3/include/ext/rb_tree @@ -58,6 +58,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/stl_tree.h> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index f196d884..21ccfc2 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -30,6 +30,8 @@ #ifndef _RC_STRING_BASE_H #define _RC_STRING_BASE_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <ext/atomicity.h> #include <ext/alloc_traits.h> #include <bits/stl_iterator_base_funcs.h> diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index f8af374..a5a821e 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -45,6 +45,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <algorithm> #include <iosfwd> #include <bits/stl_construct.h> diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h index 27cb738..fe35d91 100644 --- a/libstdc++-v3/include/ext/ropeimpl.h +++ b/libstdc++-v3/include/ext/ropeimpl.h @@ -1227,6 +1227,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __result = _S_concat(__forest[__i], __result); __forest[__i]->_M_unref_nonnil(); #if !defined(__GC) && __cpp_exceptions + +#include <bits/requires_hosted.h> // GNU extensions are currently omitted __forest[__i] = 0; #endif } diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist index 7b6f882..f2b5109 100644 --- a/libstdc++-v3/include/ext/slist +++ b/libstdc++-v3/include/ext/slist @@ -44,6 +44,8 @@ #ifndef _SLIST #define _SLIST 1 +#include <bits/requires_hosted.h> // std::allocator + #include <algorithm> #include <bits/allocator.h> #include <bits/stl_construct.h> diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h index f2209e7..db5dc43 100644 --- a/libstdc++-v3/include/ext/sso_string_base.h +++ b/libstdc++-v3/include/ext/sso_string_base.h @@ -30,6 +30,8 @@ #ifndef _SSO_STRING_BASE_H #define _SSO_STRING_BASE_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h index 878839b..0e83e35 100644 --- a/libstdc++-v3/include/ext/stdio_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_filebuf.h @@ -31,6 +31,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <fstream> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h index 49437c9..8f51ae2 100644 --- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h @@ -31,6 +31,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <streambuf> #include <cstdio> #include <bits/c++io.h> // For __c_file diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h index fc03974..a4648a9 100644 --- a/libstdc++-v3/include/ext/string_conversions.h +++ b/libstdc++-v3/include/ext/string_conversions.h @@ -31,6 +31,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #if __cplusplus < 201103L # include <bits/c++0x_warning.h> #else diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h index 220f5f5..a1b57e7 100644 --- a/libstdc++-v3/include/ext/throw_allocator.h +++ b/libstdc++-v3/include/ext/throw_allocator.h @@ -46,6 +46,8 @@ #ifndef _THROW_ALLOCATOR_H #define _THROW_ALLOCATOR_H 1 +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <cmath> #include <ctime> #include <map> diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h index 47cbabf..f0a12d6 100644 --- a/libstdc++-v3/include/ext/vstring.h +++ b/libstdc++-v3/include/ext/vstring.h @@ -31,6 +31,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #if __cplusplus >= 201103L #include <initializer_list> #endif diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc index 0776fdc..18e4bbb 100644 --- a/libstdc++-v3/include/ext/vstring.tcc +++ b/libstdc++-v3/include/ext/vstring.tcc @@ -32,6 +32,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/cxxabi_forced.h> namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h index c787e95..121492b 100644 --- a/libstdc++-v3/include/ext/vstring_fwd.h +++ b/libstdc++-v3/include/ext/vstring_fwd.h @@ -32,6 +32,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <bits/c++config.h> #include <bits/char_traits.h> #include <bits/allocator.h> diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h index 713c697..4e58a71 100644 --- a/libstdc++-v3/include/ext/vstring_util.h +++ b/libstdc++-v3/include/ext/vstring_util.h @@ -32,6 +32,8 @@ #pragma GCC system_header +#include <bits/requires_hosted.h> // GNU extensions are currently omitted + #include <ext/vstring_fwd.h> #include <debug/debug.h> #include <bits/stl_function.h> // For less |