public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
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


             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).