From: "Arsen Arsenović" <arsen@aarsen.me>
To: gcc-patches@gcc.gnu.org
Cc: libstdc++@gcc.gnu.org, "Arsen Arsenović" <arsen@aarsen.me>
Subject: [PATCH 00/10] c-family,libstdc++: P1642 and related changes
Date: Fri, 30 Sep 2022 18:45:46 +0200 [thread overview]
Message-ID: <20220930164556.1198044-1-arsen@aarsen.me> (raw)
Hi,
This patchset:
- Implements the P1642 WG21 paper, with a fair few extensions,
- Fixes libstdc++' build system on systems --without-headers,
- Ports (a large chunk of) the libstdc++ testsuite to freestanding, and
- Changes the semantics of `int main' in freestanding (!!).
Thanks,
Arsen Arsenović (7):
libstdc++: Filter out unconditional <stdio.h> default include
libstdc++: Mark headers that must be hosted as such [PR103626]
c-family: Implement new `int main' semantics in freestanding
libstdc++: Rework how freestanding install works [PR106953]
libstdc++: Make some tests work on freestanding [PR103626]
libstdc++: Re-enable std::hash<std::bitset> in freestanding [PR103626]
libstdc++: Disable hosted-only tests [PR103626]
Jonathan Wakely (3):
libstdc++: Make _GLIBCXX_HOSTED respect -ffreestanding [PR103626]
libstdc++: Adjust precompiled headers for freestanding
libstdc++: Add effective-target 'hosted' for testsuite [PR103626]
gcc/c-family/c-common.cc | 6 +
gcc/c-family/c-common.h | 10 +
gcc/c/c-decl.cc | 4 +-
gcc/c/c-objc-common.cc | 9 +-
gcc/cp/cp-tree.h | 12 +-
gcc/doc/invoke.texi | 20 +-
.../freestanding-main-implicitly-returns.C | 5 +
gcc/testsuite/g++.dg/no-builtin-main.C | 5 +
gcc/testsuite/gcc.dg/c11-noreturn-4.c | 2 +-
.../freestanding-main-implicitly-returns.c | 5 +
gcc/testsuite/gcc.dg/inline-10.c | 2 +-
gcc/testsuite/gcc.dg/no-builtin-main.c | 5 +
gcc/testsuite/gcc.dg/noreturn-4.c | 2 +-
libstdc++-v3/acinclude.m4 | 2 +-
libstdc++-v3/configure | 2 +-
libstdc++-v3/configure.ac | 9 +
libstdc++-v3/include/Makefile.am | 303 ++++----
libstdc++-v3/include/Makefile.in | 657 +++++++++---------
libstdc++-v3/include/bits/algorithmfwd.h | 4 +
libstdc++-v3/include/bits/concept_check.h | 2 +-
libstdc++-v3/include/bits/ranges_algo.h | 2 +
libstdc++-v3/include/bits/requires_hosted.h | 37 +
libstdc++-v3/include/bits/stl_algo.h | 2 +-
libstdc++-v3/include/c_global/cmath | 2 +
libstdc++-v3/include/experimental/algorithm | 2 +
libstdc++-v3/include/experimental/any | 2 +
libstdc++-v3/include/experimental/array | 2 +
libstdc++-v3/include/experimental/buffer | 2 +
libstdc++-v3/include/experimental/chrono | 2 +
libstdc++-v3/include/experimental/deque | 2 +
libstdc++-v3/include/experimental/executor | 2 +
libstdc++-v3/include/experimental/filesystem | 2 +
.../include/experimental/forward_list | 2 +
libstdc++-v3/include/experimental/functional | 2 +
libstdc++-v3/include/experimental/internet | 2 +
libstdc++-v3/include/experimental/io_context | 2 +
libstdc++-v3/include/experimental/iterator | 2 +
libstdc++-v3/include/experimental/list | 2 +
libstdc++-v3/include/experimental/map | 2 +
libstdc++-v3/include/experimental/memory | 2 +
.../include/experimental/memory_resource | 2 +
libstdc++-v3/include/experimental/net | 2 +
libstdc++-v3/include/experimental/netfwd | 2 +
libstdc++-v3/include/experimental/numeric | 2 +
libstdc++-v3/include/experimental/optional | 2 +
.../include/experimental/propagate_const | 2 +
libstdc++-v3/include/experimental/random | 2 +
libstdc++-v3/include/experimental/ratio | 2 +
libstdc++-v3/include/experimental/regex | 2 +
libstdc++-v3/include/experimental/scope | 2 +
libstdc++-v3/include/experimental/set | 2 +
libstdc++-v3/include/experimental/simd | 2 +
libstdc++-v3/include/experimental/socket | 2 +
.../include/experimental/source_location | 2 +
libstdc++-v3/include/experimental/string | 2 +
libstdc++-v3/include/experimental/string_view | 2 +
.../include/experimental/system_error | 2 +
libstdc++-v3/include/experimental/timer | 2 +
libstdc++-v3/include/experimental/tuple | 2 +
.../include/experimental/unordered_map | 2 +
.../include/experimental/unordered_set | 2 +
libstdc++-v3/include/experimental/utility | 2 +
libstdc++-v3/include/experimental/vector | 2 +
libstdc++-v3/include/ext/algorithm | 2 +
libstdc++-v3/include/ext/bitmap_allocator.h | 2 +
libstdc++-v3/include/ext/cmath | 2 +
.../include/ext/codecvt_specializations.h | 2 +
libstdc++-v3/include/ext/debug_allocator.h | 2 +
libstdc++-v3/include/ext/enc_filebuf.h | 2 +
libstdc++-v3/include/ext/extptr_allocator.h | 2 +
libstdc++-v3/include/ext/functional | 2 +
libstdc++-v3/include/ext/malloc_allocator.h | 2 +
libstdc++-v3/include/ext/memory | 2 +
libstdc++-v3/include/ext/mt_allocator.h | 2 +
libstdc++-v3/include/ext/new_allocator.h | 2 +
libstdc++-v3/include/ext/numeric | 2 +
libstdc++-v3/include/ext/pod_char_traits.h | 2 +
libstdc++-v3/include/ext/pointer.h | 7 +-
libstdc++-v3/include/ext/pool_allocator.h | 2 +
libstdc++-v3/include/ext/random | 2 +
libstdc++-v3/include/ext/random.tcc | 2 +
libstdc++-v3/include/ext/rb_tree | 2 +
libstdc++-v3/include/ext/rc_string_base.h | 2 +
libstdc++-v3/include/ext/rope | 2 +
libstdc++-v3/include/ext/ropeimpl.h | 2 +
libstdc++-v3/include/ext/slist | 2 +
libstdc++-v3/include/ext/sso_string_base.h | 2 +
libstdc++-v3/include/ext/stdio_filebuf.h | 2 +
libstdc++-v3/include/ext/stdio_sync_filebuf.h | 2 +
libstdc++-v3/include/ext/string_conversions.h | 2 +
libstdc++-v3/include/ext/throw_allocator.h | 2 +
libstdc++-v3/include/ext/vstring.h | 2 +
libstdc++-v3/include/ext/vstring.tcc | 2 +
libstdc++-v3/include/ext/vstring_fwd.h | 2 +
libstdc++-v3/include/ext/vstring_util.h | 2 +
libstdc++-v3/include/precompiled/extc++.h | 17 +-
libstdc++-v3/include/precompiled/stdc++.h | 81 ++-
libstdc++-v3/include/std/algorithm | 4 +-
libstdc++-v3/include/std/barrier | 2 +
libstdc++-v3/include/std/bitset | 9 +-
libstdc++-v3/include/std/charconv | 4 +-
libstdc++-v3/include/std/chrono | 2 +
libstdc++-v3/include/std/condition_variable | 2 +
libstdc++-v3/include/std/deque | 2 +
libstdc++-v3/include/std/execution | 2 +
libstdc++-v3/include/std/filesystem | 2 +
libstdc++-v3/include/std/forward_list | 2 +
libstdc++-v3/include/std/fstream | 2 +
libstdc++-v3/include/std/functional | 3 +-
libstdc++-v3/include/std/future | 2 +
libstdc++-v3/include/std/iomanip | 2 +
libstdc++-v3/include/std/ios | 2 +
libstdc++-v3/include/std/iosfwd | 2 +
libstdc++-v3/include/std/iostream | 2 +
libstdc++-v3/include/std/istream | 2 +
libstdc++-v3/include/std/iterator | 4 +
libstdc++-v3/include/std/latch | 2 +
libstdc++-v3/include/std/list | 2 +
libstdc++-v3/include/std/locale | 2 +
libstdc++-v3/include/std/map | 2 +
libstdc++-v3/include/std/memory | 2 +-
libstdc++-v3/include/std/memory_resource | 2 +
libstdc++-v3/include/std/mutex | 2 +
libstdc++-v3/include/std/numeric | 2 +-
libstdc++-v3/include/std/ostream | 2 +
libstdc++-v3/include/std/queue | 2 +
libstdc++-v3/include/std/random | 2 +
libstdc++-v3/include/std/regex | 2 +
libstdc++-v3/include/std/semaphore | 2 +
libstdc++-v3/include/std/set | 2 +
libstdc++-v3/include/std/shared_mutex | 2 +
libstdc++-v3/include/std/spanstream | 2 +
libstdc++-v3/include/std/sstream | 2 +
libstdc++-v3/include/std/stack | 2 +
libstdc++-v3/include/std/stacktrace | 2 +
libstdc++-v3/include/std/stop_token | 2 +
libstdc++-v3/include/std/streambuf | 2 +
libstdc++-v3/include/std/string | 2 +
libstdc++-v3/include/std/syncstream | 2 +
libstdc++-v3/include/std/system_error | 2 +
libstdc++-v3/include/std/thread | 2 +
libstdc++-v3/include/std/unordered_map | 2 +
libstdc++-v3/include/std/unordered_set | 2 +
libstdc++-v3/include/std/valarray | 2 +
libstdc++-v3/include/std/vector | 2 +
libstdc++-v3/include/std/version | 100 +--
libstdc++-v3/include/tr1/array | 2 +
libstdc++-v3/include/tr1/ccomplex | 2 +
libstdc++-v3/include/tr1/cctype | 2 +
libstdc++-v3/include/tr1/cfenv | 2 +
libstdc++-v3/include/tr1/cfloat | 2 +
libstdc++-v3/include/tr1/cinttypes | 2 +
libstdc++-v3/include/tr1/climits | 2 +
libstdc++-v3/include/tr1/cmath | 2 +
libstdc++-v3/include/tr1/complex | 2 +
libstdc++-v3/include/tr1/complex.h | 2 +
libstdc++-v3/include/tr1/cstdarg | 2 +
libstdc++-v3/include/tr1/cstdbool | 2 +
libstdc++-v3/include/tr1/cstdint | 2 +
libstdc++-v3/include/tr1/cstdio | 2 +
libstdc++-v3/include/tr1/cstdlib | 2 +
libstdc++-v3/include/tr1/ctgmath | 2 +
libstdc++-v3/include/tr1/ctime | 2 +
libstdc++-v3/include/tr1/ctype.h | 2 +
libstdc++-v3/include/tr1/cwchar | 2 +
libstdc++-v3/include/tr1/cwctype | 2 +
libstdc++-v3/include/tr1/fenv.h | 2 +
libstdc++-v3/include/tr1/float.h | 2 +
libstdc++-v3/include/tr1/functional | 2 +
libstdc++-v3/include/tr1/inttypes.h | 2 +
libstdc++-v3/include/tr1/limits.h | 2 +
libstdc++-v3/include/tr1/math.h | 2 +
libstdc++-v3/include/tr1/memory | 2 +
libstdc++-v3/include/tr1/random | 2 +
libstdc++-v3/include/tr1/regex | 2 +
libstdc++-v3/include/tr1/stdarg.h | 2 +
libstdc++-v3/include/tr1/stdbool.h | 2 +
libstdc++-v3/include/tr1/stdint.h | 2 +
libstdc++-v3/include/tr1/stdio.h | 2 +
libstdc++-v3/include/tr1/stdlib.h | 2 +
libstdc++-v3/include/tr1/tgmath.h | 2 +
libstdc++-v3/include/tr1/tuple | 2 +
libstdc++-v3/include/tr1/type_traits | 2 +
libstdc++-v3/include/tr1/unordered_map | 2 +
libstdc++-v3/include/tr1/unordered_set | 2 +
libstdc++-v3/include/tr1/utility | 2 +
libstdc++-v3/include/tr1/wchar.h | 2 +
libstdc++-v3/include/tr1/wctype.h | 2 +
.../17_intro/headers/c++1998/stdc++.cc | 2 +
.../headers/c++1998/stdc++_assert_neg.cc | 1 +
.../17_intro/tag_type_explicit_ctor.cc | 32 +-
.../17_intro/using_namespace_std_exp_neg.cc | 53 +-
.../17_intro/using_namespace_std_tr1_neg.cc | 53 +-
.../18_support/aligned_alloc/aligned_alloc.cc | 1 +
.../headers/cstdlib/functions_std.cc | 2 +
.../testsuite/18_support/new_nothrow.cc | 1 +
.../testsuite/20_util/allocator/105975.cc | 1 +
.../testsuite/20_util/allocator/14176.cc | 2 +
.../testsuite/20_util/allocator/64135.cc | 1 +
.../testsuite/20_util/allocator/89510.cc | 1 +
.../testsuite/20_util/allocator/lwg3190.cc | 1 +
.../20_util/allocator/overaligned.cc | 1 +
.../20_util/allocator/rebind_c++20.cc | 1 +
.../allocator/requirements/constexpr.cc | 5 +-
.../requirements/explicit_instantiation/1.cc | 1 +
.../allocator/requirements/typedefs.cc | 1 +
.../allocator/requirements/typedefs_c++20.cc | 5 +-
.../testsuite/20_util/allocator/void.cc | 1 +
.../20_util/allocator_traits/header-2.cc | 5 +-
.../20_util/allocator_traits/header.cc | 5 +-
.../allocator_traits/members/92878_92947.cc | 6 +-
.../allocator_traits/members/pointers.cc | 1 +
.../allocator_traits/members/rebind_alloc.cc | 2 +
.../requirements/explicit_instantiation.cc | 2 +
.../allocator_traits/requirements/typedefs.cc | 1 +
.../cons_virtual_derivation.cc | 2 +
libstdc++-v3/testsuite/20_util/bind/42593.cc | 2 +
.../testsuite/20_util/bitset/access/dr396.cc | 2 +
.../20_util/bitset/access/to_string.cc | 2 +
.../20_util/bitset/access/to_ullong.cc | 2 +
.../testsuite/20_util/bitset/cons/16020.cc | 2 +
.../20_util/bitset/cons/constexpr_c++23.cc | 2 +
.../testsuite/20_util/bitset/cons/dr1325-2.cc | 1 +
.../testsuite/20_util/bitset/cons/dr396.cc | 2 +
.../20_util/bitset/debug/invalidation/1.cc | 2 +
.../testsuite/20_util/bitset/ext/15361.cc | 2 +
.../testsuite/20_util/bitset/ext/constexpr.cc | 2 +
.../20_util/bitset/operations/13838.cc | 2 +
.../20_util/bitset/operations/96303.cc | 2 +
.../testsuite/20_util/bitset/version.cc | 1 +
.../20_util/enable_shared_from_this/56383.cc | 1 +
.../20_util/enable_shared_from_this/89303.cc | 1 +
.../enable_shared_from_this/members/assign.cc | 1 +
.../enable_shared_from_this/members/const.cc | 1 +
.../enable_shared_from_this/members/reinit.cc | 1 +
.../members/unique_ptr.cc | 1 +
.../members/weak_from_this.cc | 1 +
.../requirements/explicit_instantiation.cc | 1 +
libstdc++-v3/testsuite/20_util/forward/1.cc | 1 +
.../testsuite/20_util/forward/1_neg.cc | 1 +
libstdc++-v3/testsuite/20_util/function/1.cc | 2 +
libstdc++-v3/testsuite/20_util/function/10.cc | 1 +
libstdc++-v3/testsuite/20_util/function/2.cc | 2 +
libstdc++-v3/testsuite/20_util/function/3.cc | 2 +
libstdc++-v3/testsuite/20_util/function/4.cc | 2 +
.../testsuite/20_util/function/43397.cc | 2 +
.../testsuite/20_util/function/48541.cc | 2 +
libstdc++-v3/testsuite/20_util/function/5.cc | 2 +
.../testsuite/20_util/function/58569.cc | 2 +
libstdc++-v3/testsuite/20_util/function/6.cc | 2 +
.../testsuite/20_util/function/60594.cc | 1 +
.../testsuite/20_util/function/65760.cc | 1 +
.../testsuite/20_util/function/69222.cc | 1 +
libstdc++-v3/testsuite/20_util/function/7.cc | 2 +
.../testsuite/20_util/function/77322.cc | 1 +
libstdc++-v3/testsuite/20_util/function/8.cc | 2 +
libstdc++-v3/testsuite/20_util/function/9.cc | 2 +
.../testsuite/20_util/function/91456.cc | 1 +
.../testsuite/20_util/function/assign/move.cc | 1 +
.../20_util/function/assign/move_target.cc | 1 +
.../testsuite/20_util/function/cmp/cmp_neg.cc | 1 +
.../testsuite/20_util/function/cons/55320.cc | 1 +
.../testsuite/20_util/function/cons/57465.cc | 1 +
.../testsuite/20_util/function/cons/70692.cc | 1 +
.../testsuite/20_util/function/cons/72820.cc | 1 +
.../20_util/function/cons/addressof.cc | 1 +
.../20_util/function/cons/callable.cc | 1 +
.../20_util/function/cons/deduction.cc | 1 +
.../20_util/function/cons/deduction_c++23.cc | 1 +
.../20_util/function/cons/lwg2774.cc | 2 +
.../testsuite/20_util/function/cons/move.cc | 1 +
.../20_util/function/cons/move_target.cc | 1 +
.../20_util/function/cons/noexcept.cc | 2 +
.../function/cons/non_copyconstructible.cc | 1 +
.../20_util/function/cons/refqual.cc | 1 +
.../20_util/function/invoke/forwarding.cc | 1 +
.../20_util/function/invoke/move_only.cc | 1 +
.../function/null_pointer_comparisons.cc | 1 +
.../requirements/explicit_instantiation.cc | 1 +
.../20_util/function/target_no_rtti.cc | 1 +
.../20_util/function_objects/83607.cc | 1 +
.../20_util/function_objects/mem_fn/adl.cc | 1 +
.../20_util/headers/bitset/synopsis.cc | 2 +
.../20_util/headers/cstdlib/functions_std.cc | 1 +
.../headers/functional/types_std_c++0x.cc | 1 +
.../20_util/headers/memory/types_std_c++0x.cc | 1 +
.../testsuite/20_util/is_function/35637.cc | 1 +
.../requirements/typedefs_neg.cc | 4 +-
libstdc++-v3/testsuite/20_util/move/1.cc | 1 +
.../20_util/move_only_function/call.cc | 1 +
.../20_util/move_only_function/cons.cc | 1 +
.../20_util/move_only_function/move.cc | 1 +
.../20_util/move_only_function/version.cc | 1 +
.../testsuite/20_util/owner_less/cmp.cc | 1 +
.../testsuite/20_util/owner_less/noexcept.cc | 1 +
.../testsuite/20_util/owner_less/void.cc | 1 +
.../testsuite/20_util/pointer_safety/1.cc | 1 +
.../pointer_traits/requirements/typedefs.cc | 2 +
.../20_util/scoped_allocator/65279.cc | 2 +
.../20_util/scoped_allocator/69293_neg.cc | 2 +
.../scoped_allocator/construct_pair.cc | 1 +
.../20_util/scoped_allocator/dr2586.cc | 2 +
.../requirements/explicit_instantiation.cc | 2 +
.../20_util/shared_ptr/assign/assign.cc | 1 +
.../20_util/shared_ptr/assign/auto_ptr.cc | 1 +
.../20_util/shared_ptr/assign/auto_ptr_neg.cc | 1 +
.../shared_ptr/assign/auto_ptr_rvalue.cc | 1 +
.../20_util/shared_ptr/assign/dr541.cc | 1 +
.../20_util/shared_ptr/assign/move.cc | 1 +
.../20_util/shared_ptr/assign/sfinae.cc | 1 +
.../20_util/shared_ptr/assign/shared_ptr.cc | 1 +
.../shared_ptr/assign/shared_ptr_neg.cc | 1 +
.../assign/unique_ptr_lvalue_neg.cc | 1 +
.../shared_ptr/assign/unique_ptr_rvalue.cc | 1 +
.../testsuite/20_util/shared_ptr/atomic/1.cc | 1 +
.../testsuite/20_util/shared_ptr/atomic/2.cc | 1 +
.../testsuite/20_util/shared_ptr/casts/1.cc | 1 +
.../20_util/shared_ptr/casts/reinterpret.cc | 1 +
.../20_util/shared_ptr/casts/rval.cc | 1 +
.../20_util/shared_ptr/comparison/42925.cc | 1 +
.../20_util/shared_ptr/comparison/86537.cc | 1 +
.../20_util/shared_ptr/comparison/cmp.cc | 1 +
.../shared_ptr/comparison/cmp_c++20.cc | 1 +
.../20_util/shared_ptr/comparison/dr1401.cc | 1 +
.../20_util/shared_ptr/comparison/less.cc | 1 +
.../20_util/shared_ptr/cons/39405.cc | 1 +
.../20_util/shared_ptr/cons/43820_neg.cc | 1 +
.../20_util/shared_ptr/cons/46910.cc | 1 +
.../20_util/shared_ptr/cons/51365.cc | 1 +
.../20_util/shared_ptr/cons/52924.cc | 1 +
.../20_util/shared_ptr/cons/55123.cc | 1 +
.../20_util/shared_ptr/cons/58659.cc | 1 +
.../20_util/shared_ptr/cons/58839.cc | 1 +
.../20_util/shared_ptr/cons/61036.cc | 1 +
.../20_util/shared_ptr/cons/79467.cc | 1 +
.../20_util/shared_ptr/cons/80229.cc | 1 +
.../20_util/shared_ptr/cons/alias-rval.cc | 1 +
.../20_util/shared_ptr/cons/alias.cc | 1 +
.../20_util/shared_ptr/cons/array.cc | 1 +
.../20_util/shared_ptr/cons/auto_ptr.cc | 1 +
.../20_util/shared_ptr/cons/auto_ptr_neg.cc | 1 +
.../testsuite/20_util/shared_ptr/cons/copy.cc | 1 +
.../20_util/shared_ptr/cons/deduction.cc | 1 +
.../20_util/shared_ptr/cons/default.cc | 1 +
.../20_util/shared_ptr/cons/lwg2802.cc | 1 +
.../20_util/shared_ptr/cons/lwg3548.cc | 1 +
.../testsuite/20_util/shared_ptr/cons/move.cc | 1 +
.../cons/noexcept_move_construct.cc | 1 +
.../20_util/shared_ptr/cons/nullptr.cc | 1 +
.../20_util/shared_ptr/cons/pointer.cc | 1 +
.../20_util/shared_ptr/cons/unique_ptr.cc | 1 +
.../shared_ptr/cons/unique_ptr_array.cc | 1 +
.../shared_ptr/cons/unique_ptr_deleter.cc | 1 +
.../cons/unique_ptr_deleter_ref_1.cc | 1 +
.../cons/unique_ptr_deleter_ref_2.cc | 1 +
.../20_util/shared_ptr/cons/void_neg.cc | 1 +
.../20_util/shared_ptr/cons/weak_ptr.cc | 1 +
.../20_util/shared_ptr/creation/36949.cc | 1 +
.../shared_ptr/creation/58594-no-rtti.cc | 1 +
.../20_util/shared_ptr/creation/58594.cc | 1 +
.../20_util/shared_ptr/creation/87278.cc | 1 +
.../shared_ptr/creation/92878_92947.cc | 1 +
.../20_util/shared_ptr/creation/99006.cc | 1 +
.../20_util/shared_ptr/creation/dr402.cc | 1 +
.../20_util/shared_ptr/creation/dr925.cc | 1 +
.../20_util/shared_ptr/creation/make.cc | 1 +
.../20_util/shared_ptr/creation/no_rtti.cc | 1 +
.../20_util/shared_ptr/creation/overwrite.cc | 1 +
.../20_util/shared_ptr/creation/private.cc | 1 +
.../shared_ptr/creation/single_allocation.cc | 1 +
.../creation/single_allocation_no_rtti.cc | 1 +
.../20_util/shared_ptr/creation/version.cc | 1 +
.../testsuite/20_util/shared_ptr/dest/dest.cc | 1 +
.../testsuite/20_util/shared_ptr/hash/1.cc | 1 +
.../20_util/shared_ptr/misc/24595.cc | 1 +
.../20_util/shared_ptr/misc/42019.cc | 1 +
.../20_util/shared_ptr/misc/get_deleter.cc | 1 +
.../testsuite/20_util/shared_ptr/misc/swap.cc | 1 +
.../20_util/shared_ptr/modifiers/reset.cc | 1 +
.../20_util/shared_ptr/modifiers/reset_neg.cc | 1 +
.../shared_ptr/modifiers/reset_sfinae.cc | 1 +
.../20_util/shared_ptr/modifiers/swap.cc | 1 +
.../20_util/shared_ptr/modifiers/swap_neg.cc | 1 +
.../20_util/shared_ptr/observers/array.cc | 1 +
.../20_util/shared_ptr/observers/bool_conv.cc | 1 +
.../20_util/shared_ptr/observers/get.cc | 1 +
.../shared_ptr/observers/owner_before.cc | 1 +
.../20_util/shared_ptr/observers/unique.cc | 1 +
.../20_util/shared_ptr/observers/use_count.cc | 1 +
.../requirements/explicit_instantiation/1.cc | 1 +
.../requirements/explicit_instantiation/2.cc | 1 +
.../shared_ptr/requirements/weak_type.cc | 1 +
.../construct_at/95788.cc | 2 +
.../testsuite/20_util/temporary_buffer.cc | 2 +
libstdc++-v3/testsuite/20_util/tuple/48476.cc | 1 +
.../testsuite/20_util/tuple/cons/90700.cc | 2 +
.../testsuite/20_util/tuple/cons/96803.cc | 2 +
.../20_util/tuple/cons/allocator_with_any.cc | 2 +
.../20_util/tuple/cons/allocators.cc | 2 +
.../tuple/cons/constexpr_allocator_arg_t.cc | 2 +
.../testsuite/20_util/tuple/cons/deduction.cc | 2 +
.../20_util/tuple/cons/explicit_construct.cc | 2 +
.../testsuite/20_util/tuple/p2321r2.cc | 2 +
.../unique_ptr/creation/92878_92947.cc | 1 +
.../20_util/unique_ptr/creation/array.cc | 1 +
.../20_util/unique_ptr/creation/array_neg.cc | 1 +
.../20_util/unique_ptr/creation/constexpr.cc | 1 +
.../unique_ptr/creation/for_overwrite.cc | 1 +
.../unique_ptr/creation/for_overwrite__neg.cc | 1 +
.../20_util/unique_ptr/creation/single.cc | 1 +
.../20_util/uses_allocator/69293_neg.cc | 2 +
.../20_util/uses_allocator/92878_92947.cc | 1 +
.../uses_allocator/uninitialized_construct.cc | 2 +
.../20_util/weak_ptr/comparison/cmp_neg.cc | 1 +
.../20_util/weak_ptr/cons/deduction.cc | 1 +
.../weak_ptr/cons/noexcept_move_construct.cc | 1 +
.../testsuite/20_util/weak_ptr/lock/1.cc | 1 +
.../weak_ptr/observers/owner_before.cc | 1 +
.../requirements/explicit_instantiation/1.cc | 1 +
.../requirements/explicit_instantiation/2.cc | 1 +
.../21_strings/basic_string/version.cc | 1 +
.../operations/contains/char/2.cc | 1 +
.../21_strings/c_strings/char/69626.cc | 1 +
.../char_traits/requirements/version.cc | 1 +
.../vector/requirements/version.cc | 1 +
.../requirements/base_classes.cc | 2 +
.../requirements/base_classes.cc | 2 +
.../requirements/base_classes.cc | 2 +
.../requirements/base_classes.cc | 2 +
.../24_iterators/istreambuf_iterator/92285.cc | 2 +
.../istreambuf_iterator/cons/sentinel.cc | 1 +
.../requirements/base_classes.cc | 2 +
.../istreambuf_iterator/requirements/dr445.cc | 1 +
.../requirements/base_classes.cc | 2 +
.../requirements/base_classes.cc | 2 +
.../25_algorithms/constexpr_macro.cc | 1 +
.../25_algorithms/equal/constrained.cc | 1 +
.../headers/cstdlib/functions_std.cc | 1 +
.../25_algorithms/inplace_merge/1.cc | 3 +
.../lexicographical_compare/constrained.cc | 1 +
.../25_algorithms/make_heap/movable.cc | 1 +
.../testsuite/25_algorithms/move/93872.cc | 1 +
.../25_algorithms/pstl/feature_test-4.cc | 1 +
.../25_algorithms/random_shuffle/1.cc | 1 +
.../25_algorithms/random_shuffle/moveable.cc | 1 +
.../requirements/explicit_instantiation/2.cc | 1 +
.../testsuite/25_algorithms/sort/35588.cc | 3 +
.../25_algorithms/stable_partition/1.cc | 3 +
.../stable_partition/constrained.cc | 3 +
.../stable_partition/mem_check.cc | 3 +
.../stable_partition/moveable.cc | 3 +
.../requirements/explicit_instantiation/2.cc | 1 +
.../explicit_instantiation/pod.cc | 3 +
.../testsuite/25_algorithms/stable_sort/1.cc | 3 +
.../testsuite/26_numerics/complex/2.cc | 1 +
.../26_numerics/headers/cstdlib/13943.cc | 2 +
.../26_numerics/headers/cstdlib/2190.cc | 3 +
.../26_numerics/headers/cstdlib/60401.cc | 1 +
.../26_numerics/headers/cstdlib/dr2192.cc | 2 +
.../26_numerics/headers/cstdlib/dr2192_neg.cc | 3 +
.../26_numerics/headers/cstdlib/dr2735.cc | 1 +
.../headers/cstdlib/functions_std.cc | 3 +
.../26_numerics/headers/cstdlib/macros.cc | 3 +
.../26_numerics/headers/cstdlib/types_std.cc | 3 +
.../headers/cstdlib/types_std_c++0x.cc | 3 +
.../testsuite/26_numerics/lerp/version.cc | 1 +
.../testsuite/26_numerics/midpoint/version.cc | 1 +
.../testsuite/27_io/basic_syncbuf/2.cc | 1 +
.../testsuite/27_io/basic_syncstream/2.cc | 1 +
libstdc++-v3/testsuite/27_io/fpos/14320-1.cc | 1 +
libstdc++-v3/testsuite/27_io/fpos/14320-2.cc | 2 +
libstdc++-v3/testsuite/27_io/fpos/14320-3.cc | 2 +
libstdc++-v3/testsuite/27_io/fpos/14320-4.cc | 2 +
.../testsuite/27_io/spanstream/version.cc | 1 +
.../testsuite/29_atomics/atomic/lwg3220.cc | 4 +
.../29_atomics/atomic/operators/51811.cc | 3 +
.../29_atomics/atomic/wait_notify/1.cc | 1 +
.../29_atomics/atomic/wait_notify/102994.cc | 1 +
.../29_atomics/atomic/wait_notify/2.cc | 1 +
.../29_atomics/headers/stdatomic.h/version.cc | 3 +
.../testsuite/30_threads/barrier/2.cc | 1 +
.../condition_variable_any/stop_token/2.cc | 1 +
.../testsuite/30_threads/jthread/version.cc | 1 +
libstdc++-v3/testsuite/30_threads/latch/2.cc | 1 +
.../testsuite/30_threads/semaphore/2.cc | 1 +
.../testsuite/30_threads/stop_token/2.cc | 1 +
libstdc++-v3/testsuite/abi/pr42230.cc | 1 +
libstdc++-v3/testsuite/ext/shared_ptr/1.cc | 1 +
libstdc++-v3/testsuite/lib/libstdc++.exp | 14 +-
libstdc++-v3/testsuite/lib/prune.exp | 4 +
libstdc++-v3/testsuite/libstdc++-abi/abi.exp | 2 +-
.../testsuite/std/ranges/adaptors/100577.cc | 11 +-
.../std/ranges/adaptors/lazy_split_neg.cc | 1 +
.../testsuite/std/ranges/adaptors/p1739.cc | 2 +
.../testsuite/std/ranges/iota/lwg3292_neg.cc | 1 +
libstdc++-v3/testsuite/std/ranges/p2325.cc | 1 +
496 files changed, 1588 insertions(+), 653 deletions(-)
create mode 100644 gcc/testsuite/g++.dg/freestanding-main-implicitly-returns.C
create mode 100644 gcc/testsuite/g++.dg/no-builtin-main.C
create mode 100644 gcc/testsuite/gcc.dg/freestanding-main-implicitly-returns.c
create mode 100644 gcc/testsuite/gcc.dg/no-builtin-main.c
create mode 100644 libstdc++-v3/include/bits/requires_hosted.h
--
2.37.3
next reply other threads:[~2022-09-30 16:46 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-30 16:45 Arsen Arsenović [this message]
2022-09-30 16:45 ` [PATCH 01/10] libstdc++: Make _GLIBCXX_HOSTED respect -ffreestanding [PR103626] Arsen Arsenović
2022-09-30 16:45 ` [PATCH 02/10] libstdc++: Filter out unconditional <stdio.h> default include Arsen Arsenović
2022-09-30 16:45 ` [PATCH 03/10] libstdc++: Adjust precompiled headers for freestanding Arsen Arsenović
2022-09-30 16:45 ` [PATCH 04/10] libstdc++: Mark headers that must be hosted as such [PR103626] Arsen Arsenović
2022-09-30 16:45 ` [PATCH 05/10] c-family: Implement new `int main' semantics in freestanding Arsen Arsenović
2022-09-30 16:45 ` [PATCH 06/10] libstdc++: Rework how freestanding install works [PR106953] Arsen Arsenović
2022-09-30 16:45 ` [PATCH 07/10] libstdc++: Make some tests work on freestanding [PR103626] Arsen Arsenović
2022-09-30 16:45 ` [PATCH 08/10] libstdc++: Add effective-target 'hosted' for testsuite [PR103626] Arsen Arsenović
2022-09-30 16:45 ` [PATCH 09/10] libstdc++: Re-enable std::hash<std::bitset> in freestanding [PR103626] Arsen Arsenović
2022-09-30 16:45 ` [PATCH 10/10] libstdc++: Disable hosted-only tests [PR103626] Arsen Arsenović
2022-09-30 18:15 ` [PATCH 00/10] c-family,libstdc++: P1642 and related changes Jonathan Wakely
2022-10-03 14:49 ` Jonathan Wakely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220930164556.1198044-1-arsen@aarsen.me \
--to=arsen@aarsen.me \
--cc=gcc-patches@gcc.gnu.org \
--cc=libstdc++@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).