From patchwork Fri Sep 30 16:45:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1600 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp579347wrs; Fri, 30 Sep 2022 09:48:09 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5XxyOksXciMDiVV6l/VMeJsJLFYXQb8ocFwTQ+C/6KzR1GZkJnYqXMNjro6glCTpvxMUML X-Received: by 2002:a17:907:9714:b0:783:954a:5056 with SMTP id jg20-20020a170907971400b00783954a5056mr7051019ejc.318.1664556489052; Fri, 30 Sep 2022 09:48:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556489; cv=none; d=google.com; s=arc-20160816; b=ONITwaiGIupONGoYbvJhPD/d3dQ9OdDHmOwcvNgP44QQP9nJBjjI8HxQaNzFoMG+i9 2QUIp7cerkeCUwJgddH6Ns3RSj7ckdgNdwbl+DrXmwEW+E43CuVM/VH6KSx5WT4A2R9J dUcSe84UsdBZMIPW5Trtm76wlhukrwTMdfY9EhCWHpJpdISilQAgJJ6QLpyc9yK6g8GT Vn4DQCxDbx7ps5eKpRcr8oA8EL95IAUt4kdffEzx1sd6yRJblumIju2rcgrXdirRFicb 2Mnj5NyZ4leujtqwiM9dp8rgoteiXlayXNnR+TX9Jn1w1E4ujT7Ajt0D0XDmQWYa95Sh Gp2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=55if0+o2UDG8fxmnabh2tmWl9wv7iX1yq/x6oBf/7FI=; b=KmT7069KPdtOzj0WFCgDaigTSTivmWBzKUyuxsdepwJZXZvDb7NBUPShtufle8754m clEQlRtDyxHPsZvtD+fCxcY6Gg1OecSrIPqmfh1kuvOGwBYRYbgkvmQknttjgQc+NzRI ULWo7FloLU3fICx+If/b/wGmhNigVIFIio8dMchqsY2+bQgPBDlTTYknUcW8Yh0ecUE0 Lz/VyFBRiRprZ2fkZCCuBzfV0Wn65/wENk3LktiLzDct3EyQddY1+17BfMnZH5500Qnn eXf37vIgSh2McXsL8J5I5/uldTC/qBJWgMr5VVVL4ALvSzlby8sKkm1a0h87VMcsddZL aETQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=V8s3ziPE; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id hz5-20020a1709072ce500b0073d8f141e76si2179745ejc.130.2022.09.30.09.48.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:48:09 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=V8s3ziPE; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 949263850872 for ; Fri, 30 Sep 2022 16:47:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 949263850872 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556426; bh=55if0+o2UDG8fxmnabh2tmWl9wv7iX1yq/x6oBf/7FI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=V8s3ziPEE4vyHITfzwC+cpSBF2ITieTKKSihH7zIGmTKAKoC4g8JWW+f4Yo+uBayL sfeksd/N34UtNh7ny76880jug98sMbPQaWiwC1L8X/GrfsqqBsnjXU82PkR3BTRuC2 9WxmGnmNbNIWHzxlkYqQHAPIChlHHvdoa35LTIV4= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [IPv6:2001:67c:2050:0:465::101]) by sourceware.org (Postfix) with ESMTPS id 11D173858C55; Fri, 30 Sep 2022 16:46:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 11D173858C55 Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4MfGMX2jZzz9sTR; Fri, 30 Sep 2022 18:46:16 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 01/10] libstdc++: Make _GLIBCXX_HOSTED respect -ffreestanding [PR103626] Date: Fri, 30 Sep 2022 18:45:47 +0200 Message-Id: <20220930164556.1198044-2-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: Jonathan Wakely , libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745413985038487771?= X-GMAIL-MSGID: =?utf-8?q?1745413985038487771?= From: Jonathan Wakely This allows the library to switch to freestanding mode when compiling with the -ffreestanding flag. This means you don't need a separate libstdc++ build configured with --disable-hosted-libstdcxx in order to compile for a freestanding environment. The testsuite support files cannot be compiled for freestanding, so add -fno-freestanding to override any -ffreestanding in the test flags. libstdc++-v3/ChangeLog: PR libstdc++/103626 * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED to __STDC_HOSTED__ for non-freestanding installations. * configure: Regenerate. * include/Makefile.am (${host_builddir}/c++config.h): Adjust grep pattern. * include/Makefile.in: Regenerate. * testsuite/lib/libstdc++.exp (v3-build_support): Use -fno-freestanding. * testsuite/libstdc++-abi/abi.exp: Likewise. Signed-off-by: Arsen Arsenović --- libstdc++-v3/acinclude.m4 | 2 +- libstdc++-v3/configure | 2 +- libstdc++-v3/include/Makefile.am | 2 +- libstdc++-v3/include/Makefile.in | 2 +- libstdc++-v3/testsuite/lib/libstdc++.exp | 4 ++-- libstdc++-v3/testsuite/libstdc++-abi/abi.exp | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 9aa81e1ac13..1b404d7df22 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -2992,7 +2992,7 @@ AC_DEFUN([GLIBCXX_ENABLE_HOSTED], [ fi else is_hosted=yes - hosted_define=1 + hosted_define=__STDC_HOSTED__ fi GLIBCXX_CONDITIONAL(GLIBCXX_HOSTED, test $is_hosted = yes) AC_DEFINE_UNQUOTED(_GLIBCXX_HOSTED, $hosted_define, diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 07916d14d93..1ff28af2c2c 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -15651,7 +15651,7 @@ $as_echo "$as_me: Only freestanding libraries will be built" >&6;} fi else is_hosted=yes - hosted_define=1 + hosted_define=__STDC_HOSTED__ fi diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 3eeb407a57f..3472e84f75c 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -1326,7 +1326,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \ ${CONFIG_HEADER} > /dev/null 2>&1 \ && ldbl_alt128_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT 1,' ;\ verbose_assert='s,g,g,' ; \ - grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_HOSTED[ ][ ]*1[ ]*$$" \ + grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_HOSTED[ ][ ]*__STDC_HOSTED__[ ]*$$" \ ${CONFIG_HEADER} > /dev/null 2>&1 \ && grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_VERBOSE[ ][ ]*1[ ]*$$" \ ${CONFIG_HEADER} > /dev/null 2>&1 \ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index e24563caaed..39ef34fc3ce 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -1820,7 +1820,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \ ${CONFIG_HEADER} > /dev/null 2>&1 \ && ldbl_alt128_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT 1,' ;\ verbose_assert='s,g,g,' ; \ - grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_HOSTED[ ][ ]*1[ ]*$$" \ + grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_HOSTED[ ][ ]*__STDC_HOSTED__[ ]*$$" \ ${CONFIG_HEADER} > /dev/null 2>&1 \ && grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_VERBOSE[ ][ ]*1[ ]*$$" \ ${CONFIG_HEADER} > /dev/null 2>&1 \ diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index 0338b50897f..d3256b6c8c4 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -654,7 +654,7 @@ proc v3-build_support { } { # do not prevent compilation. # Disable LTO so that ar/ranlib don't need the LTO plugin. if { [v3_target_compile $srcdir/util/$f $object_file "object" \ - [list "incdir=$srcdir" "additional_flags=-w -fno-lto"]] + [list "incdir=$srcdir" "additional_flags=-w -fno-lto -fno-freestanding"]] != "" } { error "could not compile $f" } @@ -693,7 +693,7 @@ proc v3-build_support { } { # Compile with "-w" so that warnings issued by the compiler # do not prevent compilation. if { [v3_target_compile $srcdir/util/$f $object_file "sharedlib" \ - [list "incdir=$srcdir" "additional_flags=-fno-inline -w -shared -fPIC -DPIC -std=gnu++98"]] + [list "incdir=$srcdir" "additional_flags=-fno-inline -w -shared -fPIC -DPIC -std=gnu++98 -fno-freestanding"]] != "" } { error "could not compile $f" } diff --git a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp index 9e919e1d7a0..66f19ea4514 100644 --- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp +++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp @@ -60,7 +60,7 @@ remote_exec "build" "$blddir/scripts/extract_symvers" \ # Build the abi_check program. if { [v3_target_compile "$srcdir/util/testsuite_abi_check.cc" "abi_check" \ - "executable" [list "additional_flags=-w"]] != "" } { + "executable" [list "additional_flags=-w -fno-freestanding"]] != "" } { error "could not compile testsuite_abi_check.cc" } From patchwork Fri Sep 30 16:45:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1602 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp579817wrs; Fri, 30 Sep 2022 09:49:26 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4NgV7jRGpVIk9xXeQBCvJ7/YE3Cityj5lgSl9KdQF8DhMICyQM7TfgTLsEcxrVULjbmUQP X-Received: by 2002:a05:6402:400e:b0:458:29c3:ba34 with SMTP id d14-20020a056402400e00b0045829c3ba34mr7740374eda.294.1664556565945; Fri, 30 Sep 2022 09:49:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556565; cv=none; d=google.com; s=arc-20160816; b=00DrOpqWiZ3auhKljGpkj69HtAi0tn8w7Cv1nhuNA6VKxjlDdPQGzGftiWZm94Fygz WY1oUhfNwNjGWcQIHbHTuTYHkC80s0zTmiqGKdrY4vXlC2DawZsqM83Jofyc/D7/AGsQ lsxH1/B5GDidTis2HNDGg5r0kWUdGUrUeI0njn5BJcbhjLe41iyyeLczGbR6pr583NpM rBEHSrQiSsO7naVE16l4LcooUk9mSJkDqD5m0j0LecpVWk/2XS5Num28cuiCi6BVNjUL SOhoE1xOn1Cftyz22igFauzmZ43jhJSJBJiu5prNWZhKfqUYDk/qxFYaLCZO5RaRCvXM HxPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=qe3FxIQ1zCquD8RdnozL/K26tvp6iPUzx+7JijoaUBM=; b=YO1NHuRPt5L/BzvnRfYiQB0/sJCSjBBrzH3pXh6xzlhj9IXz32Ah3KfVUoSrVmla6b 1zemg1f9fLhE6NYyUWK/11M3ugTnOLyB+JEA7eL14anTtkT8jwmzVB3J8qx53r3Vh2CT fgbFR/1ySf0DMKp8pLDhTR0fMKcbPpsD+cad5xt93wcnib1myekpmVte9+4XJbnQmRp+ hsHkZdu6xl4Sa0V14Mo6n+KjkFaC/esGEOdbR2J0fCON/uzw8Jr8ofzmhbnK7CbC+K3z lkQDap640cdx6IWu8KuKrznIiTLWgUxqvKdqzklLPB40Uj29qke/N4jZ6jTrJlgGCP1f Qq9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=s5pGum1V; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id di5-20020a170906730500b00782bb167cb6si2659240ejc.80.2022.09.30.09.49.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:49:25 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=s5pGum1V; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2476E3885516 for ; Fri, 30 Sep 2022 16:47:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2476E3885516 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556460; bh=qe3FxIQ1zCquD8RdnozL/K26tvp6iPUzx+7JijoaUBM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=s5pGum1VUyWaPUUk6b6e9Y0Y+Ds9JzzqdR7pMQk/Lsl8+ae7UrdgvAvByQQU7Lnlo hypw9ZWtverO/J273ncCEOK8AsAy772oHJiUy8ZxR/51j8v/Mx9cuNGzHKEes9yoLG TF54AQJkoRFeoDKOYJFYXkhaHVmhD0K0k1OzX9e0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) by sourceware.org (Postfix) with ESMTPS id 9F180385C33A; Fri, 30 Sep 2022 16:46:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9F180385C33A Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4MfGMb58D7z9sSZ; Fri, 30 Sep 2022 18:46:19 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 02/10] libstdc++: Filter out unconditional default include Date: Fri, 30 Sep 2022 18:45:48 +0200 Message-Id: <20220930164556.1198044-3-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414065667004843?= X-GMAIL-MSGID: =?utf-8?q?1745414065667004843?= _AC_INCLUDES_DEFAULT_REQUIREMENTS including when checking for stdint.h has prevented proper detection of whether stdint.h is present, since it'd poison the cache variables with test results failing due to failing to include. As a solution, for autoconf versions under 2.70, we filter out that bit of code from ac_includes_default. This issue was fixed in autoconf-2.70. This also applies to various other headers, but was noticed when looking into why HAVE_STDINT_H was misdefined. libstdc++-v3/ChangeLog: * configure.ac: Remove any lines that unconditionally include from ac_includes_default, when running Autoconf <2.70. * configure: Regenerate. Signed-off-by: Arsen Arsenović --- libstdc++-v3/configure.ac | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index b351622bf46..c05fcdda7e9 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -58,6 +58,15 @@ else GLIBCXX_IS_NATIVE=true fi +# In the case that we're building without headers, we won't have +# available. In these cases, we have to instruct autotools to never include +# as a part of default headers. +m4_version_prereq([2.70], [], [ +if test "x$with_headers" = "xno"; then + ac_includes_default=`echo "$ac_includes_default" | sed '/^#include $/d'` +fi +]) + # Sets up automake. Must come after AC_CANONICAL_SYSTEM. Each of the # following is magically included in AUTOMAKE_OPTIONS in each Makefile.am. # 1.x: minimum required version From patchwork Fri Sep 30 16:45:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1603 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp580207wrs; Fri, 30 Sep 2022 09:50:28 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4x5fd5rbsdyx0hvTfZhjkH8JK/66kR6YmBqWXGsBqbk7i9t7698vmtBCI+DXy7gU5zLaIv X-Received: by 2002:a05:6402:2b8d:b0:43a:5410:a9fc with SMTP id fj13-20020a0564022b8d00b0043a5410a9fcmr8658665edb.99.1664556628686; Fri, 30 Sep 2022 09:50:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556628; cv=none; d=google.com; s=arc-20160816; b=Dvv6rLG3alNxOgTAtBOa/o7PBajz0NsCmpD7pUAkxXvNGrV1yKJ/X3GF4i+PvVTVy+ PrC3kdWxq/qJpFNgycIi8XiUS3hCtEdGqVPVZfaWXdma5HOHrFspIfgoAFpAfUnCVpoE slSj0kSYcXcpN8Poi/mTBHA5jkUx3mOV0DAt6kFM3pfEAMMaWLT9qjElj5cXN2XW+nkJ 2f5JSo87C2SkRhIS0Jt+/u+ArXVaiQVnsrxzkHUupYC3E1uMfOKLrSzGiv57mOnXcjsb B89WBuykCuVB4AJ+1rlMZHsOsi+nmLH23GWN9WPHZUf2WAgP+d8FvXUZSzojOit9uVgx d9tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=gTrZAjmDyD0H7s+Zk/WTdVqtW8epJfdpSzungLE56mc=; b=k0O1cYesYLPtSLotMlfiM/+tl/A22J0n/RfEHUWmZE8cHK2TGlH+2C06G15HEarKrI 4V9s2N+1sVJFY/6Rz3pQt4LM89Hu7rQ55VfXd7U0CsDflI35gGo4u0DYIVNMkU/QEzDG vAMBrO6h/4ZvAsKIm0k8zW05rPbZLviK85I+hlHBiB0cFeJfvPmNgB2zLkJ8bm1T7aYk Q7Ck8Jj6/rHEeQbw/ZB0ru+y7gWigqwd9eB7yauo1h+CnkQzHj+sYRhjTU1iNKPEVcMZ Ei+rKsPZ7HKp9Tkifz+iABt6F/wyJXU9bLsDeoxwxVQhvuYLXOkWiFLUKLMayn/Kp2Wv VhBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=hQA9tzjg; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id i37-20020a0564020f2500b0044ebe6f368asi2388097eda.377.2022.09.30.09.50.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:50:28 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=hQA9tzjg; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 561D63821FDC for ; Fri, 30 Sep 2022 16:48:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 561D63821FDC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556485; bh=gTrZAjmDyD0H7s+Zk/WTdVqtW8epJfdpSzungLE56mc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=hQA9tzjgIemhnAGRlq9RxWXXERxIBXLoeee1Ke4l/FIKyz+h9rGW/ovyH7HZ4ckx5 JyAb15qyo/vrvxcQsImiw3lBfYbT6K3C6/4lvOasgytXd6l6aU9WINzVFo6JgqU/ZO 72qWZ60OwiWPCYAlLeBY2KTdk0YDdw9ZlbPt/VpY= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by sourceware.org (Postfix) with ESMTPS id 0FA0C385E008; Fri, 30 Sep 2022 16:46:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0FA0C385E008 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4MfGMf2xL0z9sWL; Fri, 30 Sep 2022 18:46:22 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 03/10] libstdc++: Adjust precompiled headers for freestanding Date: Fri, 30 Sep 2022 18:45:49 +0200 Message-Id: <20220930164556.1198044-4-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4MfGMf2xL0z9sWL X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: Jonathan Wakely , libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414131749265010?= X-GMAIL-MSGID: =?utf-8?q?1745414131749265010?= From: Jonathan Wakely Co-authored-by: Arsen Arsenović 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. Signed-off-by: Arsen Arsenović --- libstdc++-v3/include/precompiled/extc++.h | 17 +++-- libstdc++-v3/include/precompiled/stdc++.h | 81 +++++++++++++++++++++-- 2 files changed, 86 insertions(+), 12 deletions(-) diff --git a/libstdc++-v3/include/precompiled/extc++.h b/libstdc++-v3/include/precompiled/extc++.h index 7fe70738042..b094701aafb 100644 --- a/libstdc++-v3/include/precompiled/extc++.h +++ b/libstdc++-v3/include/precompiled/extc++.h @@ -32,14 +32,21 @@ #include #endif -#include #if __cplusplus >= 201103L # include #endif #include #include -#include #include +#include +#include +#include +#include +#include + +#if _GLIBCXX_HOSTED +#include +#include #if __cplusplus >= 201103L # include #endif @@ -47,15 +54,12 @@ #include #include #include -#include #include #include #include #include #include -#include #include -#include #include #if __cplusplus >= 201103L # include @@ -66,8 +70,6 @@ #include #include #include -#include -#include #include #include #include @@ -81,3 +83,4 @@ #include #include #endif +#endif // HOSTED diff --git a/libstdc++-v3/include/precompiled/stdc++.h b/libstdc++-v3/include/precompiled/stdc++.h index 5ee1244dc22..bfbb1654b88 100644 --- a/libstdc++-v3/include/precompiled/stdc++.h +++ b/libstdc++-v3/include/precompiled/stdc++.h @@ -28,6 +28,80 @@ // 17.4.1.2 Headers +// C +#ifndef _GLIBCXX_NO_ASSERT +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#if __cplusplus >= 201103L +#include +#endif + +// C++ +// #include +// #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if __cplusplus >= 201103L +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +#if __cplusplus >= 201402L +#endif + +#if __cplusplus >= 201703L +#include +#include +// #include +#include +#include +#endif + +#if __cplusplus >= 202002L +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +#if __cplusplus > 202002L +#include +#include +#if __cpp_impl_coroutine +# include +#endif +#endif + + +#if _GLIBCXX_HOSTED // C #ifndef _GLIBCXX_NO_ASSERT #include @@ -62,8 +136,6 @@ #endif // C++ -#include -#include #include #include #include @@ -138,9 +210,6 @@ #include #include #include -#if __cpp_impl_coroutine -# include -#endif #include #include #include @@ -160,3 +229,5 @@ #endif #include #endif + +#endif // HOSTED From patchwork Fri Sep 30 16:45:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1606 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp582386wrs; Fri, 30 Sep 2022 09:56:18 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5xxuZlv/bqQrQktPfpu4N+YJiA5xtDSpqID//aitHdsMZBGNLviIWDAnkhOlX2HsuN72+T X-Received: by 2002:a17:907:7fa3:b0:782:3034:cbc5 with SMTP id qk35-20020a1709077fa300b007823034cbc5mr7050722ejc.96.1664556978706; Fri, 30 Sep 2022 09:56:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556978; cv=none; d=google.com; s=arc-20160816; b=OKt0izFHz7xTX5g94+Ebedr2uKYfJ0BO9b0n2ZS3sEPSaIEuTTkAdA01c95JUb+r5+ 2Q9vE37BJ6Q3eywV5DPd+7kHCfR87zYhNObb8V+omxkparQYESWPQmpJAz6EuLlqbcjh LWlvBfi0uFwUjmdy8To7uEIxypc9l4WweqrzKxWDV9b/EyKdDITUTcg+YPxQrPVCeTVr aIrO+SUAfGHIqwK7K/RZG5olTWgMEVavklodNAHdXQ+tHx6ppCjJH7+kGaCkXzDAl3vz 0Vjqb2rpIWZJnvlSdKv1zFPhqnmg2Cx7On7J/ms/T8PrvU/ImLxO1H5f0RkA7MdxeeSs 5rDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=HZpQHcQg+ekEq2FkmK0BxgpqcR0iLtfTlb5E7SBOko0=; b=vsNeqZmviNKaMQcyu2RjchyNfyW2PyByNiRsbkpZAzEEmfA9SWJfWCSOSpUWOyfD3H Ttztg/qQPlBTDxruj8Q88xWsMYfOK352WHTXny5iFvJi9+LP21vfitamiNBeWbFAp1UN mpleDeI6k0fk2ll1WqkczEajcYg/moFKgHZAu2Zk/iK9PAhwRr0Lv9H/O4xvLdMURoAL HQMJ+DmDyJhmTFr+K43LCAOhJM9LX8/mB7BKAqrpKi/eaELBDIj5NB03lV7Tc4YnJdYz WfJWq1n6DBVk6tPLUFFNB1Q79aAgL05MVGM+6BjXqkm7x580CemlLXfrKx5IWBxIW+w0 /Y+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=pGzyVLZs; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id b25-20020a170906d11900b00783ef8f419dsi1654305ejz.1008.2022.09.30.09.56.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:56:18 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=pGzyVLZs; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 71ED5395A07B for ; Fri, 30 Sep 2022 16:50:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 71ED5395A07B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556616; bh=HZpQHcQg+ekEq2FkmK0BxgpqcR0iLtfTlb5E7SBOko0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=pGzyVLZsMvIq9MLe2kJFuh2akGZpAChUICJ2ZIxI9YqaeHBU0Jtf17yofnQRRirhs Fxob7XCUZ7tNVeXYBk2VIWE33DoN62E1STPwpMMEJlLHfoilx0hbwI8pe87c2bLHb1 tmsJcD6xpuyKWqPGnSdbeZ+cG/2eCGMvDpzY/M+Y= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-201.mailbox.org (mout-p-201.mailbox.org [IPv6:2001:67c:2050:0:465::201]) by sourceware.org (Postfix) with ESMTPS id A95343854145; Fri, 30 Sep 2022 16:46:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A95343854145 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4MfGMh5Q4Pz9sRM; Fri, 30 Sep 2022 18:46:24 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 04/10] libstdc++: Mark headers that must be hosted as such [PR103626] Date: Fri, 30 Sep 2022 18:45:50 +0200 Message-Id: <20220930164556.1198044-5-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: Jonathan Wakely , libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414498567094365?= X-GMAIL-MSGID: =?utf-8?q?1745414498567094365?= PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding Co-authored-by: Jonathan Wakely 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 . * 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 . * 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 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 . * 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. Signed-off-by: Arsen Arsenović --- libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + 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/std/algorithm | 4 +- libstdc++-v3/include/std/barrier | 2 + 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 + libstdc++-v3/testsuite/lib/prune.exp | 4 + 170 files changed, 428 insertions(+), 59 deletions(-) create mode 100644 libstdc++-v3/include/bits/requires_hosted.h diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 3472e84f75c..56227427b6d 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -193,6 +193,7 @@ bits_headers = \ ${bits_srcdir}/regex_compiler.tcc \ ${bits_srcdir}/regex_executor.h \ ${bits_srcdir}/regex_executor.tcc \ + ${bits_srcdir}/requires_hosted.h \ ${bits_srcdir}/semaphore_base.h \ ${bits_srcdir}/shared_ptr.h \ ${bits_srcdir}/shared_ptr_atomic.h \ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 39ef34fc3ce..f6ed98fefcd 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -551,6 +551,7 @@ bits_headers = \ ${bits_srcdir}/regex_compiler.tcc \ ${bits_srcdir}/regex_executor.h \ ${bits_srcdir}/regex_executor.tcc \ + ${bits_srcdir}/requires_hosted.h \ ${bits_srcdir}/semaphore_base.h \ ${bits_srcdir}/shared_ptr.h \ ${bits_srcdir}/shared_ptr_atomic.h \ diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index aacc34e09e8..08330528e8e 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -638,9 +638,11 @@ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2) void sort_heap(_RAIter, _RAIter, _Compare); +#if _GLIBCXX_HOSTED template _BIter stable_partition(_BIter, _BIter, _Predicate); +#endif #if __cplusplus < 201103L // For C++11 swap() is declared in . @@ -828,6 +830,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO _BIter partition(_BIter, _BIter, _Predicate); +#if _GLIBCXX_HOSTED template void random_shuffle(_RAIter, _RAIter); @@ -840,6 +843,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO #else _Generator&); #endif +#endif // HOSTED template _GLIBCXX20_CONSTEXPR diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h index 35969d27280..32b794d147e 100644 --- a/libstdc++-v3/include/bits/concept_check.h +++ b/libstdc++-v3/include/bits/concept_check.h @@ -43,7 +43,7 @@ // configure options or editing c++config.h. // It is not supported for freestanding implementations. -#if !defined(_GLIBCXX_CONCEPT_CHECKS) || !_GLIBCXX_HOSTED +#if !defined(_GLIBCXX_CONCEPT_CHECKS) #define __glibcxx_function_requires(...) #define __glibcxx_class_requires(_a,_b) diff --git a/libstdc++-v3/include/bits/ranges_algo.h b/libstdc++-v3/include/bits/ranges_algo.h index 228e10b62bf..de71bd07a2f 100644 --- a/libstdc++-v3/include/bits/ranges_algo.h +++ b/libstdc++-v3/include/bits/ranges_algo.h @@ -2326,6 +2326,7 @@ namespace ranges inline constexpr __partition_fn partition{}; +#if _GLIBCXX_HOSTED struct __stable_partition_fn { template _Sent, @@ -2356,6 +2357,7 @@ namespace ranges }; inline constexpr __stable_partition_fn stable_partition{}; +#endif template struct in_out_out_result diff --git a/libstdc++-v3/include/bits/requires_hosted.h b/libstdc++-v3/include/bits/requires_hosted.h new file mode 100644 index 00000000000..86916e22682 --- /dev/null +++ b/libstdc++-v3/include/bits/requires_hosted.h @@ -0,0 +1,37 @@ +// Copyright The GNU Toolchain Authors. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/requires_hosted.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{version} + */ + +#ifndef _REQUIRES_FREESTANDING_H +#define _REQUIRES_FREESTANDING_H 1 + +#include + +#if !_GLIBCXX_HOSTED +# error "This header is not available in freestanding mode." +#endif + +#endif diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index e63fe66852e..6386918fc8b 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -4594,7 +4594,6 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO std::iter_swap(__i, __j); } } -#endif // HOSTED /** * @brief Shuffle the elements of a sequence using a random number @@ -4638,6 +4637,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO std::iter_swap(__i, __j); } } +#endif // HOSTED #endif // C++11 || USE_DEPRECATED /** diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index 1b993f30330..cc14982d3bb 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -38,6 +38,8 @@ #pragma GCC system_header +#include + #include #include #include diff --git a/libstdc++-v3/include/experimental/algorithm b/libstdc++-v3/include/experimental/algorithm index 5a4a0221222..99348cbb799 100644 --- a/libstdc++-v3/include/experimental/algorithm +++ b/libstdc++-v3/include/experimental/algorithm @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any index b8ff90ae204..b8ab5a81236 100644 --- a/libstdc++-v3/include/experimental/any +++ b/libstdc++-v3/include/experimental/any @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/array b/libstdc++-v3/include/experimental/array index 3a064d2181f..f2bdd650f06 100644 --- a/libstdc++-v3/include/experimental/array +++ b/libstdc++-v3/include/experimental/array @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/buffer b/libstdc++-v3/include/experimental/buffer index 0c103e14891..bc346180d92 100644 --- a/libstdc++-v3/include/experimental/buffer +++ b/libstdc++-v3/include/experimental/buffer @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/chrono b/libstdc++-v3/include/experimental/chrono index 8ec31910cd8..417f8be5562 100644 --- a/libstdc++-v3/include/experimental/chrono +++ b/libstdc++-v3/include/experimental/chrono @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include // Only the C++14 parts of diff --git a/libstdc++-v3/include/experimental/deque b/libstdc++-v3/include/experimental/deque index b64deee1990..4f3d12df832 100644 --- a/libstdc++-v3/include/experimental/deque +++ b/libstdc++-v3/include/experimental/deque @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/executor b/libstdc++-v3/include/experimental/executor index bfcf2171f9b..9d0cd6edb94 100644 --- a/libstdc++-v3/include/experimental/executor +++ b/libstdc++-v3/include/experimental/executor @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/filesystem b/libstdc++-v3/include/experimental/filesystem index 85872e61693..7c47e6b79d1 100644 --- a/libstdc++-v3/include/experimental/filesystem +++ b/libstdc++-v3/include/experimental/filesystem @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201103L #include diff --git a/libstdc++-v3/include/experimental/forward_list b/libstdc++-v3/include/experimental/forward_list index fedf2ba0c3b..679b43d8c86 100644 --- a/libstdc++-v3/include/experimental/forward_list +++ b/libstdc++-v3/include/experimental/forward_list @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/functional b/libstdc++-v3/include/experimental/functional index 1a47b522bf4..a0e73fa46b9 100644 --- a/libstdc++-v3/include/experimental/functional +++ b/libstdc++-v3/include/experimental/functional @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/internet b/libstdc++-v3/include/experimental/internet index 4be4bfb731e..6e3c355f38e 100644 --- a/libstdc++-v3/include/experimental/internet +++ b/libstdc++-v3/include/experimental/internet @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/io_context b/libstdc++-v3/include/experimental/io_context index 8d4fc25f2ca..cea2a864e9c 100644 --- a/libstdc++-v3/include/experimental/io_context +++ b/libstdc++-v3/include/experimental/io_context @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/iterator b/libstdc++-v3/include/experimental/iterator index e68d09cab33..35ac5a6044c 100644 --- a/libstdc++-v3/include/experimental/iterator +++ b/libstdc++-v3/include/experimental/iterator @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/list b/libstdc++-v3/include/experimental/list index 7e4ef189107..7d49eefe5ec 100644 --- a/libstdc++-v3/include/experimental/list +++ b/libstdc++-v3/include/experimental/list @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/map b/libstdc++-v3/include/experimental/map index 4936a660189..525252b83c1 100644 --- a/libstdc++-v3/include/experimental/map +++ b/libstdc++-v3/include/experimental/map @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/memory b/libstdc++-v3/include/experimental/memory index 6cf11b4a14d..fabeb581161 100644 --- a/libstdc++-v3/include/experimental/memory +++ b/libstdc++-v3/include/experimental/memory @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/memory_resource b/libstdc++-v3/include/experimental/memory_resource index d70a93219fa..aa86c042d84 100644 --- a/libstdc++-v3/include/experimental/memory_resource +++ b/libstdc++-v3/include/experimental/memory_resource @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include // align, uses_allocator, __uses_alloc diff --git a/libstdc++-v3/include/experimental/net b/libstdc++-v3/include/experimental/net index 9d1d5c7a430..1268528d76c 100644 --- a/libstdc++-v3/include/experimental/net +++ b/libstdc++-v3/include/experimental/net @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/netfwd b/libstdc++-v3/include/experimental/netfwd index 2fd6ff9cf0e..e1e05336f10 100644 --- a/libstdc++-v3/include/experimental/netfwd +++ b/libstdc++-v3/include/experimental/netfwd @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L // #define __cpp_lib_experimental_net 201803 diff --git a/libstdc++-v3/include/experimental/numeric b/libstdc++-v3/include/experimental/numeric index 426d9430dd6..26be27a7b72 100644 --- a/libstdc++-v3/include/experimental/numeric +++ b/libstdc++-v3/include/experimental/numeric @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/optional b/libstdc++-v3/include/experimental/optional index 0d3a89404d1..c5da58aa938 100644 --- a/libstdc++-v3/include/experimental/optional +++ b/libstdc++-v3/include/experimental/optional @@ -30,6 +30,8 @@ #ifndef _GLIBCXX_EXPERIMENTAL_OPTIONAL #define _GLIBCXX_EXPERIMENTAL_OPTIONAL 1 +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/propagate_const b/libstdc++-v3/include/experimental/propagate_const index 80fcb2c0605..258ef6fdd44 100644 --- a/libstdc++-v3/include/experimental/propagate_const +++ b/libstdc++-v3/include/experimental/propagate_const @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/random b/libstdc++-v3/include/experimental/random index adef31fabd6..8728aa30f02 100644 --- a/libstdc++-v3/include/experimental/random +++ b/libstdc++-v3/include/experimental/random @@ -30,6 +30,8 @@ #ifndef _GLIBCXX_EXPERIMENTAL_RANDOM #define _GLIBCXX_EXPERIMENTAL_RANDOM 1 +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include #include diff --git a/libstdc++-v3/include/experimental/ratio b/libstdc++-v3/include/experimental/ratio index 59ce85e7f30..5d873f2d673 100644 --- a/libstdc++-v3/include/experimental/ratio +++ b/libstdc++-v3/include/experimental/ratio @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/regex b/libstdc++-v3/include/experimental/regex index 9d063c6f5b4..5efb8867347 100644 --- a/libstdc++-v3/include/experimental/regex +++ b/libstdc++-v3/include/experimental/regex @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/scope b/libstdc++-v3/include/experimental/scope index 208fadc513e..5dbeac14795 100644 --- a/libstdc++-v3/include/experimental/scope +++ b/libstdc++-v3/include/experimental/scope @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 202002L #include diff --git a/libstdc++-v3/include/experimental/set b/libstdc++-v3/include/experimental/set index aa43a2b2fc3..b42a3cdcf1a 100644 --- a/libstdc++-v3/include/experimental/set +++ b/libstdc++-v3/include/experimental/set @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/simd b/libstdc++-v3/include/experimental/simd index f526c70c728..4bd46481a25 100644 --- a/libstdc++-v3/include/experimental/simd +++ b/libstdc++-v3/include/experimental/simd @@ -33,6 +33,8 @@ #ifndef _GLIBCXX_EXPERIMENTAL_SIMD #define _GLIBCXX_EXPERIMENTAL_SIMD +#include // experimental is currently omitted + #if __cplusplus >= 201703L /** @defgroup par-ts Parallelism TS diff --git a/libstdc++-v3/include/experimental/socket b/libstdc++-v3/include/experimental/socket index 868927afeb5..65fe2b7535b 100644 --- a/libstdc++-v3/include/experimental/socket +++ b/libstdc++-v3/include/experimental/socket @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/source_location b/libstdc++-v3/include/experimental/source_location index afd3401117c..acd41c0c9de 100644 --- a/libstdc++-v3/include/experimental/source_location +++ b/libstdc++-v3/include/experimental/source_location @@ -30,6 +30,8 @@ #ifndef _GLIBCXX_EXPERIMENTAL_SRCLOC #define _GLIBCXX_EXPERIMENTAL_SRCLOC 1 +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/string b/libstdc++-v3/include/experimental/string index 01bd84b4df9..f326b85a0db 100644 --- a/libstdc++-v3/include/experimental/string +++ b/libstdc++-v3/include/experimental/string @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view index ff04bb1fd0b..f5b4cf10c44 100644 --- a/libstdc++-v3/include/experimental/string_view +++ b/libstdc++-v3/include/experimental/string_view @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/system_error b/libstdc++-v3/include/experimental/system_error index 9023d4429eb..f41cddda8f4 100644 --- a/libstdc++-v3/include/experimental/system_error +++ b/libstdc++-v3/include/experimental/system_error @@ -36,6 +36,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/timer b/libstdc++-v3/include/experimental/timer index 745f3a465ba..02498b0aed5 100644 --- a/libstdc++-v3/include/experimental/timer +++ b/libstdc++-v3/include/experimental/timer @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/tuple b/libstdc++-v3/include/experimental/tuple index 338f2f5efb4..906bd7b1225 100644 --- a/libstdc++-v3/include/experimental/tuple +++ b/libstdc++-v3/include/experimental/tuple @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/unordered_map b/libstdc++-v3/include/experimental/unordered_map index 1a41687d593..ce56c2afb8c 100644 --- a/libstdc++-v3/include/experimental/unordered_map +++ b/libstdc++-v3/include/experimental/unordered_map @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/unordered_set b/libstdc++-v3/include/experimental/unordered_set index 583c43798a7..c7075874daf 100644 --- a/libstdc++-v3/include/experimental/unordered_set +++ b/libstdc++-v3/include/experimental/unordered_set @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/experimental/utility b/libstdc++-v3/include/experimental/utility index 61567313cce..cc335e02ccd 100644 --- a/libstdc++-v3/include/experimental/utility +++ b/libstdc++-v3/include/experimental/utility @@ -30,6 +30,8 @@ #ifndef _GLIBCXX_EXPERIMENTAL_UTILITY #define _GLIBCXX_EXPERIMENTAL_UTILITY 1 +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include #include diff --git a/libstdc++-v3/include/experimental/vector b/libstdc++-v3/include/experimental/vector index 2b611fc1937..4e8c8461e44 100644 --- a/libstdc++-v3/include/experimental/vector +++ b/libstdc++-v3/include/experimental/vector @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // experimental is currently omitted + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm index f5eced66feb..65122dab5a3 100644 --- a/libstdc++-v3/include/ext/algorithm +++ b/libstdc++-v3/include/ext/algorithm @@ -58,6 +58,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include 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 033f132148a..80b8fa779bb 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 // GNU extensions are currently omitted + #include // For std::pair. #include // For __throw_bad_alloc(). #include // For greater_equal, and less_equal. diff --git a/libstdc++-v3/include/ext/cmath b/libstdc++-v3/include/ext/cmath index 22919699003..2ebad8b0c85 100644 --- a/libstdc++-v3/include/ext/cmath +++ b/libstdc++-v3/include/ext/cmath @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h index 51b638d7f29..7f733e67b0c 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h index 3490dca8c5d..06c15fb561c 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/enc_filebuf.h b/libstdc++-v3/include/ext/enc_filebuf.h index 12869a8b02d..fc3d9a88163 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/extptr_allocator.h b/libstdc++-v3/include/ext/extptr_allocator.h index 20f746e73b6..ad538c77169 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional index 19cd8d5b563..9cf864d9290 100644 --- a/libstdc++-v3/include/ext/functional +++ b/libstdc++-v3/include/ext/functional @@ -58,6 +58,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include 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 82b3f0a1c6f..6323ed9b60d 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 // malloc + #include #include #include diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory index 105952a3517..9e0082bd20a 100644 --- a/libstdc++-v3/include/ext/memory +++ b/libstdc++-v3/include/ext/memory @@ -58,6 +58,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include #include diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 393d6eb0ae7..49743e46d0c 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 // getenv + #include #include #include diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h index 96e6523977a..db8895faf8e 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 // GNU extensions are currently omitted + #include namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric index 0b2c4ee0ba8..1d9f4f44747 100644 --- a/libstdc++-v3/include/ext/numeric +++ b/libstdc++-v3/include/ext/numeric @@ -58,6 +58,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include #include diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h index fa0f5b607f7..95d90f3e2dc 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 // GNU extensions are currently omitted + #include namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h index 04804f0287a..48b768499fd 100644 --- a/libstdc++-v3/include/ext/pointer.h +++ b/libstdc++-v3/include/ext/pointer.h @@ -38,7 +38,10 @@ #pragma GCC system_header -#include +#if _GLIBCXX_HOSTED +# include +#endif + #include #include #include @@ -559,11 +562,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _Pointer_adapter<_Tp>& __rhs) { return !(__lhs._Tp::operator<(__rhs)); } +#if _GLIBCXX_HOSTED template 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 8d0f08979f0..f04a88c8d6c 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random index 50505b876cc..4cc0e25e025 100644 --- a/libstdc++-v3/include/ext/random +++ b/libstdc++-v3/include/ext/random @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/ext/random.tcc b/libstdc++-v3/include/ext/random.tcc index 71ceea88278..7274e0d9f1a 100644 --- a/libstdc++-v3/include/ext/random.tcc +++ b/libstdc++-v3/include/ext/random.tcc @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // 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 b61c45b2206..dd685fb2781 100644 --- a/libstdc++-v3/include/ext/rb_tree +++ b/libstdc++-v3/include/ext/rb_tree @@ -58,6 +58,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include 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 f196d884380..21ccfc21e57 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index f8af374f042..a5a821ebf03 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -45,6 +45,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h index 27cb7389d74..fe35d9162c1 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 // GNU extensions are currently omitted __forest[__i] = 0; #endif } diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist index 7b6f8820d2a..f2b5109b065 100644 --- a/libstdc++-v3/include/ext/slist +++ b/libstdc++-v3/include/ext/slist @@ -44,6 +44,8 @@ #ifndef _SLIST #define _SLIST 1 +#include // std::allocator + #include #include #include diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h index f2209e704bf..db5dc437898 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 // 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 878839bf2ac..0e83e354276 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 // GNU extensions are currently omitted + #include 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 49437c96976..8f51ae275b7 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 // GNU extensions are currently omitted + #include #include #include // For __c_file diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h index fc03974b5a0..a4648a9852f 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 // GNU extensions are currently omitted + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h index 220f5f5243f..a1b57e7e6d9 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h index 47cbabf24f1..f0a12d64589 100644 --- a/libstdc++-v3/include/ext/vstring.h +++ b/libstdc++-v3/include/ext/vstring.h @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #if __cplusplus >= 201103L #include #endif diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc index 0776fdcad1f..18e4bbb283e 100644 --- a/libstdc++-v3/include/ext/vstring.tcc +++ b/libstdc++-v3/include/ext/vstring.tcc @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // GNU extensions are currently omitted + #include 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 c787e95efed..121492b0652 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 // GNU extensions are currently omitted + #include #include #include diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h index 713c6976d75..4e58a710894 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 // GNU extensions are currently omitted + #include #include #include // For less diff --git a/libstdc++-v3/include/std/algorithm b/libstdc++-v3/include/std/algorithm index e2cfd7ca662..4b39bfce134 100644 --- a/libstdc++-v3/include/std/algorithm +++ b/libstdc++-v3/include/std/algorithm @@ -63,7 +63,7 @@ # include #endif -#if __cplusplus > 201402L +#if __cplusplus > 201402L && _GLIBCXX_HOSTED // Parallel STL algorithms # if _PSTL_EXECUTION_POLICIES_DEFINED // If has already been included, pull in implementations @@ -76,7 +76,7 @@ // Feature test macro for parallel algorithms # define __cpp_lib_parallel_algorithm 201603L -#endif // C++17 +#endif // C++17 && HOSTED #ifdef _GLIBCXX_PARALLEL # include diff --git a/libstdc++-v3/include/std/barrier b/libstdc++-v3/include/std/barrier index 997e0a8f7ab..ab6dd8bd83d 100644 --- a/libstdc++-v3/include/std/barrier +++ b/libstdc++-v3/include/std/barrier @@ -40,6 +40,8 @@ #pragma GCC system_header +#include // threading primitive + #if __cplusplus > 201703L #include #if __cpp_lib_atomic_wait && __cpp_aligned_new diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv index 533320ea085..64d0584a55d 100644 --- a/libstdc++-v3/include/std/charconv +++ b/libstdc++-v3/include/std/charconv @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // for error codes + // As an extension we support in C++14, but this header should not // be included by any other library headers in C++14 mode. This ensures that // the names defined in this header are not added to namespace std unless a @@ -44,7 +46,7 @@ #include #if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 \ - && __SIZE_WIDTH__ >= 32 + && __SIZE_WIDTH__ >= 32 && _GLIBCXX_HOSTED # define __cpp_lib_to_chars 201611L #endif diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono index 3732a40962a..c0c3a679609 100644 --- a/libstdc++-v3/include/std/chrono +++ b/libstdc++-v3/include/std/chrono @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // for and clocks + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable index 06c4ff9ebdd..b885e1baa1b 100644 --- a/libstdc++-v3/include/std/condition_variable +++ b/libstdc++-v3/include/std/condition_variable @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // threading primitive + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/deque b/libstdc++-v3/include/std/deque index abdc2e04cdd..0b692f165bc 100644 --- a/libstdc++-v3/include/std/deque +++ b/libstdc++-v3/include/std/deque @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // containers are hosted only + #include #include #include diff --git a/libstdc++-v3/include/std/execution b/libstdc++-v3/include/std/execution index e933a1a3655..17f62a278b9 100644 --- a/libstdc++-v3/include/std/execution +++ b/libstdc++-v3/include/std/execution @@ -27,6 +27,8 @@ #pragma GCC system_header +#include // execution policies are hosted only + #if __cplusplus >= 201703L # include # include diff --git a/libstdc++-v3/include/std/filesystem b/libstdc++-v3/include/std/filesystem index dd112a254ad..36d71dd38f5 100644 --- a/libstdc++-v3/include/std/filesystem +++ b/libstdc++-v3/include/std/filesystem @@ -32,6 +32,8 @@ #pragma GCC system_header +#include + #if __cplusplus >= 201703L /** diff --git a/libstdc++-v3/include/std/forward_list b/libstdc++-v3/include/std/forward_list index fe99e5ed5ef..5d8052cb758 100644 --- a/libstdc++-v3/include/std/forward_list +++ b/libstdc++-v3/include/std/forward_list @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // containers + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream index e62a1ade3c2..c43466451dd 100644 --- a/libstdc++-v3/include/std/fstream +++ b/libstdc++-v3/include/std/fstream @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include #include diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index 5235ef20332..adf9cb1c546 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -1105,7 +1105,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // Searchers -#define __cpp_lib_boyer_moore_searcher 201603L template> class default_searcher @@ -1138,6 +1137,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; #if _GLIBCXX_HOSTED +#define __cpp_lib_boyer_moore_searcher 201603L + template struct __boyer_moore_map_base { diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index cf08c155a24..8c968fef1ee 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // concurrency + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip index 53716813993..f73519d2e0b 100644 --- a/libstdc++-v3/include/std/iomanip +++ b/libstdc++-v3/include/std/iomanip @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include #include diff --git a/libstdc++-v3/include/std/ios b/libstdc++-v3/include/std/ios index 50a66cd9886..c759986a4ae 100644 --- a/libstdc++-v3/include/std/ios +++ b/libstdc++-v3/include/std/ios @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include // For ios_base::failure #include // For char_traits, streamoff, streamsize, fpos diff --git a/libstdc++-v3/include/std/iosfwd b/libstdc++-v3/include/std/iosfwd index ddf0c953856..7f156f85c02 100644 --- a/libstdc++-v3/include/std/iosfwd +++ b/libstdc++-v3/include/std/iosfwd @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include // For string forward declarations. #include diff --git a/libstdc++-v3/include/std/iostream b/libstdc++-v3/include/std/iostream index d705913f53c..685d29a32f4 100644 --- a/libstdc++-v3/include/std/iostream +++ b/libstdc++-v3/include/std/iostream @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include #include diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream index 416ef556fa1..58716ce1d45 100644 --- a/libstdc++-v3/include/std/istream +++ b/libstdc++-v3/include/std/istream @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include diff --git a/libstdc++-v3/include/std/iterator b/libstdc++-v3/include/std/iterator index fb2a47c0dbb..8ee83272561 100644 --- a/libstdc++-v3/include/std/iterator +++ b/libstdc++-v3/include/std/iterator @@ -71,4 +71,8 @@ # define __cpp_lib_null_iterators 201304L #endif +#if __cplusplus >= 202002L +#include // ranges::distance, ranges::next, ranges::prev +#endif + #endif /* _GLIBCXX_ITERATOR */ diff --git a/libstdc++-v3/include/std/latch b/libstdc++-v3/include/std/latch index 7ae90228d8f..0442f095065 100644 --- a/libstdc++-v3/include/std/latch +++ b/libstdc++-v3/include/std/latch @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // concurrency + #if __cplusplus > 201703L #include diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list index 9151e98cb88..ec174edb976 100644 --- a/libstdc++-v3/include/std/list +++ b/libstdc++-v3/include/std/list @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // containers + #include #include #include diff --git a/libstdc++-v3/include/std/locale b/libstdc++-v3/include/std/locale index ae83586d668..abfed052979 100644 --- a/libstdc++-v3/include/std/locale +++ b/libstdc++-v3/include/std/locale @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // locales + #include #include #include diff --git a/libstdc++-v3/include/std/map b/libstdc++-v3/include/std/map index ce07f29ee09..c973a8e6eca 100644 --- a/libstdc++-v3/include/std/map +++ b/libstdc++-v3/include/std/map @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // containers + #include #include #include diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory index 3eff12108f1..4336724c928 100644 --- a/libstdc++-v3/include/std/memory +++ b/libstdc++-v3/include/std/memory @@ -63,10 +63,10 @@ #include #if _GLIBCXX_HOSTED # include +# include #endif #include #include -#include #include #if __cplusplus >= 201103L diff --git a/libstdc++-v3/include/std/memory_resource b/libstdc++-v3/include/std/memory_resource index 19c922516d5..323956eb7bf 100644 --- a/libstdc++-v3/include/std/memory_resource +++ b/libstdc++-v3/include/std/memory_resource @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // polymorphic allocation + #if __cplusplus >= 201703L #include diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index b9590bbf276..b310c15687d 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // concurrency + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index 60a99d18ffd..0f1f26cd0c4 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -729,7 +729,7 @@ namespace __detail _GLIBCXX_END_NAMESPACE_VERSION } // namespace std -#if __cplusplus >= 201703L +#if __cplusplus >= 201703L && _GLIBCXX_HOSTED // Parallel STL algorithms # if _PSTL_EXECUTION_POLICIES_DEFINED // If has already been included, pull in implementations diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index 291ea40b355..674decf73cf 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include diff --git a/libstdc++-v3/include/std/queue b/libstdc++-v3/include/std/queue index db81ef1e6c7..7c4952ff281 100644 --- a/libstdc++-v3/include/std/queue +++ b/libstdc++-v3/include/std/queue @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // containers + #include #include #include diff --git a/libstdc++-v3/include/std/random b/libstdc++-v3/include/std/random index 89a2f16c921..66757f78be3 100644 --- a/libstdc++-v3/include/std/random +++ b/libstdc++-v3/include/std/random @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // OS-dependent random + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/regex b/libstdc++-v3/include/std/regex index 491bced23b5..aa50c7e1165 100644 --- a/libstdc++-v3/include/std/regex +++ b/libstdc++-v3/include/std/regex @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // string and container heavy + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/semaphore b/libstdc++-v3/include/std/semaphore index 8a31c6d1f70..72d68dd33a1 100644 --- a/libstdc++-v3/include/std/semaphore +++ b/libstdc++-v3/include/std/semaphore @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // concurrency + #if __cplusplus > 201703L #include diff --git a/libstdc++-v3/include/std/set b/libstdc++-v3/include/std/set index 551c77727f1..4cbcba1dc2f 100644 --- a/libstdc++-v3/include/std/set +++ b/libstdc++-v3/include/std/set @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // containers + #include #include #include diff --git a/libstdc++-v3/include/std/shared_mutex b/libstdc++-v3/include/std/shared_mutex index 817a9587d87..cf74b32f185 100644 --- a/libstdc++-v3/include/std/shared_mutex +++ b/libstdc++-v3/include/std/shared_mutex @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // concurrency + #if __cplusplus >= 201402L #include diff --git a/libstdc++-v3/include/std/spanstream b/libstdc++-v3/include/std/spanstream index 5855b286efe..6abf013d41b 100644 --- a/libstdc++-v3/include/std/spanstream +++ b/libstdc++-v3/include/std/spanstream @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // iostreams + #if __cplusplus > 202002L #include #include diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream index bc7d636e702..7305bdbecf4 100644 --- a/libstdc++-v3/include/std/sstream +++ b/libstdc++-v3/include/std/sstream @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostream + #include #include #include // allocator_traits, __allocator_like diff --git a/libstdc++-v3/include/std/stack b/libstdc++-v3/include/std/stack index fc14e2edc2e..98d21236dc1 100644 --- a/libstdc++-v3/include/std/stack +++ b/libstdc++-v3/include/std/stack @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // containers + #include #include diff --git a/libstdc++-v3/include/std/stacktrace b/libstdc++-v3/include/std/stacktrace index 39472d7236a..e7cbbee5638 100644 --- a/libstdc++-v3/include/std/stacktrace +++ b/libstdc++-v3/include/std/stacktrace @@ -26,6 +26,8 @@ #pragma GCC system_header +#include // std::string bound + #include #if __cplusplus > 202002L && _GLIBCXX_HAVE_STACKTRACE diff --git a/libstdc++-v3/include/std/stop_token b/libstdc++-v3/include/std/stop_token index 07d4fdafeb4..f1968343a1e 100644 --- a/libstdc++-v3/include/std/stop_token +++ b/libstdc++-v3/include/std/stop_token @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_STOP_TOKEN #define _GLIBCXX_STOP_TOKEN +#include // concurrency + #if __cplusplus > 201703L #include diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf index 888611d12aa..d8893df580f 100644 --- a/libstdc++-v3/include/std/streambuf +++ b/libstdc++-v3/include/std/streambuf @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // iostreams + #include #include #include diff --git a/libstdc++-v3/include/std/string b/libstdc++-v3/include/std/string index 62ecdb3af45..41e6e2cb92b 100644 --- a/libstdc++-v3/include/std/string +++ b/libstdc++-v3/include/std/string @@ -35,6 +35,8 @@ #pragma GCC system_header +#include // containers + #include #include #include diff --git a/libstdc++-v3/include/std/syncstream b/libstdc++-v3/include/std/syncstream index 7a4f731ddd9..838cec591b7 100644 --- a/libstdc++-v3/include/std/syncstream +++ b/libstdc++-v3/include/std/syncstream @@ -38,6 +38,8 @@ #pragma GCC system_header +#include // iostreams + #include #include diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index e12bb2f0e1e..6dad75d26bc 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // OS-dependent + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 82f191afe2d..a314b9eb9bf 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // concurrency + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/unordered_map b/libstdc++-v3/include/std/unordered_map index b50ec2a8de2..323edcd722d 100644 --- a/libstdc++-v3/include/std/unordered_map +++ b/libstdc++-v3/include/std/unordered_map @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // container + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/unordered_set b/libstdc++-v3/include/std/unordered_set index edaa517635b..998417f5d14 100644 --- a/libstdc++-v3/include/std/unordered_set +++ b/libstdc++-v3/include/std/unordered_set @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // containers + #if __cplusplus < 201103L # include #else diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index 87fec2b6df3..90bbed77696 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -33,6 +33,8 @@ #pragma GCC system_header +#include // dependant + #include #include #include diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector index d7f69fd7a48..75377d5c7cc 100644 --- a/libstdc++-v3/include/std/vector +++ b/libstdc++-v3/include/std/vector @@ -57,6 +57,8 @@ #pragma GCC system_header +#include // container + #include #include #include diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version index 3fd5182d51d..397a4aa7b0a 100644 --- a/libstdc++-v3/include/std/version +++ b/libstdc++-v3/include/std/version @@ -46,11 +46,11 @@ #if __cplusplus >= 201103L // c++11 +#define __cpp_lib_allocator_traits_is_always_equal 201411L #define __cpp_lib_is_null_pointer 201309L #define __cpp_lib_result_of_sfinae 201210L #if _GLIBCXX_HOSTED -# define __cpp_lib_allocator_traits_is_always_equal 201411L #if __cplusplus <= 201703L // N.B. updated value in C++20 # define __cpp_lib_shared_ptr_arrays 201611L #endif @@ -73,35 +73,38 @@ #if __cpp_impl_coroutine # define __cpp_lib_coroutine 201902L #endif +#define __cpp_lib_exchange_function 201304L +#define __cpp_lib_integer_sequence 201304L #define __cpp_lib_integral_constant_callable 201304L #define __cpp_lib_is_final 201402L +#define __cpp_lib_make_reverse_iterator 201402L +#ifndef _GLIBCXX_DEBUG // PR libstdc++/70303 +# define __cpp_lib_null_iterators 201304L +#endif #define __cpp_lib_transformation_trait_aliases 201304L +#define __cpp_lib_transparent_operators 201510L +#define __cpp_lib_tuple_element_t 201402L +#define __cpp_lib_tuples_by_type 201304L #if _GLIBCXX_HOSTED # define __cpp_lib_chrono_udls 201304L # define __cpp_lib_complex_udls 201309L -# define __cpp_lib_exchange_function 201304L # define __cpp_lib_generic_associative_lookup 201304L -# define __cpp_lib_integer_sequence 201304L -# define __cpp_lib_make_reverse_iterator 201402L # define __cpp_lib_make_unique 201304L -# ifndef _GLIBCXX_DEBUG // PR libstdc++/70303 -# define __cpp_lib_null_iterators 201304L -# endif # define __cpp_lib_quoted_string_io 201304L # define __cpp_lib_robust_nonmodifying_seq_ops 201304L # ifdef _GLIBCXX_HAS_GTHREADS # define __cpp_lib_shared_timed_mutex 201402L # endif # define __cpp_lib_string_udls 201304L -# define __cpp_lib_transparent_operators 201510L -# define __cpp_lib_tuple_element_t 201402L -# define __cpp_lib_tuples_by_type 201304L #endif #if __cplusplus >= 201703L // c++17 #define __cpp_lib_addressof_constexpr 201603L +#define __cpp_lib_any 201606L +#define __cpp_lib_apply 201603L +#define __cpp_lib_as_const 201510L #define __cpp_lib_atomic_is_always_lock_free 201603L #define __cpp_lib_bool_constant 201505L #define __cpp_lib_byte 201603L @@ -111,6 +114,7 @@ #ifdef __GCC_DESTRUCTIVE_SIZE # define __cpp_lib_hardware_interference_size 201703L #endif +#define __cpp_lib_invoke 201411L #ifdef _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE # define __cpp_lib_is_aggregate 201703L #endif @@ -120,17 +124,23 @@ # define __cpp_lib_launder 201606L #endif #define __cpp_lib_logical_traits 201510L +#define __cpp_lib_make_from_tuple 201606L +#define __cpp_lib_not_fn 201603L +#if __cplusplus == 201703L // N.B. updated value in C++20 +# define __cpp_lib_optional 201606L +#endif #define __cpp_lib_type_trait_variable_templates 201510L #define __cpp_lib_uncaught_exceptions 201411L +#if !(__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L) +// N.B. updated value in C++20 +# define __cpp_lib_variant 202102L +#endif #define __cpp_lib_void_t 201411L #if _GLIBCXX_HOSTED -#define __cpp_lib_any 201606L -#define __cpp_lib_apply 201603L #if __cplusplus == 201703L // N.B. updated value in C++20 # define __cpp_lib_array_constexpr 201803L #endif -#define __cpp_lib_as_const 201510L #define __cpp_lib_boyer_moore_searcher 201603L #define __cpp_lib_chrono 201611L #define __cpp_lib_clamp 201603L @@ -146,9 +156,7 @@ #define __cpp_lib_gcd 201606L #define __cpp_lib_gcd_lcm 201606L #define __cpp_lib_hypot 201603L -#define __cpp_lib_invoke 201411L #define __cpp_lib_lcm 201606L -#define __cpp_lib_make_from_tuple 201606L #define __cpp_lib_map_try_emplace 201411L #define __cpp_lib_math_special_functions 201603L #ifdef _GLIBCXX_HAS_GTHREADS @@ -158,10 +166,6 @@ #endif #define __cpp_lib_node_extract 201606L #define __cpp_lib_nonmember_container_access 201411L -#define __cpp_lib_not_fn 201603L -#if __cplusplus == 201703L // N.B. updated value in C++20 -# define __cpp_lib_optional 201606L -#endif #define __cpp_lib_parallel_algorithm 201603L #define __cpp_lib_raw_memory_algorithms 201606L #define __cpp_lib_sample 201603L @@ -176,18 +180,16 @@ # define __cpp_lib_to_chars 201611L #endif #define __cpp_lib_unordered_map_try_emplace 201411L -#if !(__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L) -// N.B. updated value in C++20 -# define __cpp_lib_variant 202102L -#endif #endif #if __cplusplus >= 202002L // c++20 +#define __cpp_lib_assume_aligned 201811L #define __cpp_lib_atomic_flag_test 201907L #define __cpp_lib_atomic_float 201711L #define __cpp_lib_atomic_ref 201806L #define __cpp_lib_atomic_value_initialization 201911L +#define __cpp_lib_bind_front 201907L #if __has_builtin(__builtin_bit_cast) # define __cpp_lib_bit_cast 201806L #endif @@ -202,6 +204,7 @@ #endif #define __cpp_lib_endian 201907L #define __cpp_lib_int_pow2 202002L +#define __cpp_lib_integer_comparison_functions 202002L #ifdef _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED # define __cpp_lib_is_constant_evaluated 201811L #endif @@ -214,19 +217,32 @@ && __has_builtin(__builtin_is_pointer_interconvertible_with_class) # define __cpp_lib_is_pointer_interconvertible 201907L #endif +#define __cpp_lib_math_constants 201907L +#if __cpp_lib_concepts +# define __cpp_lib_make_obj_using_allocator 201811L +#endif +#define __cpp_lib_optional 202106L #define __cpp_lib_remove_cvref 201711L #if __has_builtin(__builtin_source_location) # define __cpp_lib_source_location 201907L #endif +#if __cpp_lib_concepts +# define __cpp_lib_span 202002L +#endif +#define __cpp_lib_ssize 201902L #if __cpp_impl_three_way_comparison >= 201907L && __cpp_lib_concepts # define __cpp_lib_three_way_comparison 201907L #endif +#define __cpp_lib_to_address 201711L +#define __cpp_lib_to_array 201907L #define __cpp_lib_type_identity 201806L #define __cpp_lib_unwrap_ref 201811L +#if __cpp_concepts >= 202002L && __cpp_constexpr >= 201811L +# define __cpp_lib_variant 202106L +#endif #if _GLIBCXX_HOSTED #define __cpp_lib_array_constexpr 201811L -#define __cpp_lib_assume_aligned 201811L #define __cpp_lib_atomic_shared_ptr 201711L #if defined _GLIBCXX_HAS_GTHREADS || defined _GLIBCXX_HAVE_LINUX_FUTEX # define __cpp_lib_atomic_wait 201907L @@ -234,9 +250,7 @@ # define __cpp_lib_barrier 201907L # endif #endif -#define __cpp_lib_bind_front 201907L // FIXME: #define __cpp_lib_execution 201902L -#define __cpp_lib_integer_comparison_functions 202002L #define __cpp_lib_constexpr_algorithms 201806L #ifdef __cpp_lib_is_constant_evaluated # define __cpp_lib_constexpr_char_traits 201811L @@ -268,11 +282,6 @@ # define __cpp_lib_latch 201907L #endif #define __cpp_lib_list_remove_return_type 201806L -#if __cpp_lib_concepts -# define __cpp_lib_make_obj_using_allocator 201811L -#endif -#define __cpp_lib_math_constants 201907L -#define __cpp_lib_optional 202106L #define __cpp_lib_polymorphic_allocator 201902L #if __cpp_lib_concepts # define __cpp_lib_ranges 202110L @@ -283,28 +292,29 @@ #define __cpp_lib_shared_ptr_arrays 201707L #define __cpp_lib_shift 201806L #define __cpp_lib_smart_ptr_for_overwrite 202002L -#if __cpp_lib_concepts -# define __cpp_lib_span 202002L -#endif -#define __cpp_lib_ssize 201902L #define __cpp_lib_starts_ends_with 201711L # if _GLIBCXX_USE_CXX11_ABI // Only supported with cxx11-abi # define __cpp_lib_syncbuf 201803L # endif -#define __cpp_lib_to_address 201711L -#define __cpp_lib_to_array 201907L -#if __cpp_concepts >= 202002L && __cpp_constexpr >= 201811L -# define __cpp_lib_variant 202106L -#endif #endif #if __cplusplus > 202002L // c++23 #define __cpp_lib_byteswap 202110L #define __cpp_lib_constexpr_typeinfo 202106L +#if __cpp_concepts >= 202002L +# define __cpp_lib_expected 202202L +#endif +#define __cpp_lib_invoke_r 202106L #define __cpp_lib_is_scoped_enum 202011L +#if __cpp_lib_concepts +# undef __cpp_lib_optional +# define __cpp_lib_optional 202110L +#endif #define __cpp_lib_reference_from_temporary 202202L +#define __cpp_lib_to_underlying 202102L +#define __cpp_lib_unreachable 202202L #if _GLIBCXX_HOSTED #define __cpp_lib_adaptor_iterator_pair_constructor 202106L @@ -313,15 +323,7 @@ # undef __cpp_lib_constexpr_memory # define __cpp_lib_constexpr_memory 202202L #endif -#if __cpp_concepts >= 202002L -# define __cpp_lib_expected 202202L -#endif -#define __cpp_lib_invoke_r 202106L #define __cpp_lib_ios_noreplace 202207L -#if __cpp_lib_concepts -# undef __cpp_lib_optional -# define __cpp_lib_optional 202110L -#endif #define __cpp_lib_move_only_function 202110L #if __cpp_lib_span # define __cpp_lib_spanstream 202106L @@ -334,8 +336,6 @@ #if _GLIBCXX_USE_CXX11_ABI // Only supported with cxx11-abi # define __cpp_lib_string_resize_and_overwrite 202110L #endif -#define __cpp_lib_to_underlying 202102L -#define __cpp_lib_unreachable 202202L #endif #endif // C++23 #endif // C++20 diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array index 2aac0ed8106..f03ad810f60 100644 --- a/libstdc++-v3/include/tr1/array +++ b/libstdc++-v3/include/tr1/array @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include namespace std _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/tr1/ccomplex b/libstdc++-v3/include/tr1/ccomplex index 8f9546e24df..1b632be1aad 100644 --- a/libstdc++-v3/include/tr1/ccomplex +++ b/libstdc++-v3/include/tr1/ccomplex @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CCOMPLEX #define _GLIBCXX_TR1_CCOMPLEX 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_CCOMPLEX diff --git a/libstdc++-v3/include/tr1/cctype b/libstdc++-v3/include/tr1/cctype index 43520c7a2c1..2c4a15b4edc 100644 --- a/libstdc++-v3/include/tr1/cctype +++ b/libstdc++-v3/include/tr1/cctype @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CCTYPE #define _GLIBCXX_TR1_CCTYPE 1 +#include // TR1 + #include #include diff --git a/libstdc++-v3/include/tr1/cfenv b/libstdc++-v3/include/tr1/cfenv index 202fe27229c..37e06c641b9 100644 --- a/libstdc++-v3/include/tr1/cfenv +++ b/libstdc++-v3/include/tr1/cfenv @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #if _GLIBCXX_HAVE_FENV_H diff --git a/libstdc++-v3/include/tr1/cfloat b/libstdc++-v3/include/tr1/cfloat index 24565138b91..76bfcfb4e6c 100644 --- a/libstdc++-v3/include/tr1/cfloat +++ b/libstdc++-v3/include/tr1/cfloat @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CFLOAT #define _GLIBCXX_TR1_CFLOAT 1 +#include // TR1 + #include #ifndef DECIMAL_DIG diff --git a/libstdc++-v3/include/tr1/cinttypes b/libstdc++-v3/include/tr1/cinttypes index a04cf24720f..24b46482771 100644 --- a/libstdc++-v3/include/tr1/cinttypes +++ b/libstdc++-v3/include/tr1/cinttypes @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include // For 8.11.1/1 (see C99, Note 184) diff --git a/libstdc++-v3/include/tr1/climits b/libstdc++-v3/include/tr1/climits index 95e3bc3b4da..0d702dcdaec 100644 --- a/libstdc++-v3/include/tr1/climits +++ b/libstdc++-v3/include/tr1/climits @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CLIMITS #define _GLIBCXX_TR1_CLIMITS 1 +#include // TR1 + #include #ifndef LLONG_MIN diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath index f3a53f3c5b2..384f1169524 100644 --- a/libstdc++-v3/include/tr1/cmath +++ b/libstdc++-v3/include/tr1/cmath @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #ifdef _GLIBCXX_USE_C99_MATH_TR1 diff --git a/libstdc++-v3/include/tr1/complex b/libstdc++-v3/include/tr1/complex index abb5e13fe23..fa88cd5017c 100644 --- a/libstdc++-v3/include/tr1/complex +++ b/libstdc++-v3/include/tr1/complex @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include namespace std _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/tr1/complex.h b/libstdc++-v3/include/tr1/complex.h index f2824784f60..c5fb4c103d7 100644 --- a/libstdc++-v3/include/tr1/complex.h +++ b/libstdc++-v3/include/tr1/complex.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_COMPLEX_H #define _GLIBCXX_TR1_COMPLEX_H 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_COMPLEX_H diff --git a/libstdc++-v3/include/tr1/cstdarg b/libstdc++-v3/include/tr1/cstdarg index f28ff2a602d..f046e816251 100644 --- a/libstdc++-v3/include/tr1/cstdarg +++ b/libstdc++-v3/include/tr1/cstdarg @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CSTDARG #define _GLIBCXX_TR1_CSTDARG 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_CSTDARG diff --git a/libstdc++-v3/include/tr1/cstdbool b/libstdc++-v3/include/tr1/cstdbool index 77c03156248..20afb63be52 100644 --- a/libstdc++-v3/include/tr1/cstdbool +++ b/libstdc++-v3/include/tr1/cstdbool @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #if _GLIBCXX_HAVE_STDBOOL_H diff --git a/libstdc++-v3/include/tr1/cstdint b/libstdc++-v3/include/tr1/cstdint index 0d13b30daa4..9e3e45c76aa 100644 --- a/libstdc++-v3/include/tr1/cstdint +++ b/libstdc++-v3/include/tr1/cstdint @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include // For 8.22.1/1 (see C99, Notes 219, 220, 222) diff --git a/libstdc++-v3/include/tr1/cstdio b/libstdc++-v3/include/tr1/cstdio index 4692d213d4d..dcbff6a0eb4 100644 --- a/libstdc++-v3/include/tr1/cstdio +++ b/libstdc++-v3/include/tr1/cstdio @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #if _GLIBCXX_USE_C99_STDIO diff --git a/libstdc++-v3/include/tr1/cstdlib b/libstdc++-v3/include/tr1/cstdlib index de952bb1619..5569b0dca65 100644 --- a/libstdc++-v3/include/tr1/cstdlib +++ b/libstdc++-v3/include/tr1/cstdlib @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #if _GLIBCXX_HOSTED diff --git a/libstdc++-v3/include/tr1/ctgmath b/libstdc++-v3/include/tr1/ctgmath index 64ef40544e7..15ada9c9255 100644 --- a/libstdc++-v3/include/tr1/ctgmath +++ b/libstdc++-v3/include/tr1/ctgmath @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CTGMATH #define _GLIBCXX_TR1_CTGMATH 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_CTGMATH diff --git a/libstdc++-v3/include/tr1/ctime b/libstdc++-v3/include/tr1/ctime index 8b9b8699b73..99b529a0f50 100644 --- a/libstdc++-v3/include/tr1/ctime +++ b/libstdc++-v3/include/tr1/ctime @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_CTIME #define _GLIBCXX_TR1_CTIME 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_CTIME diff --git a/libstdc++-v3/include/tr1/ctype.h b/libstdc++-v3/include/tr1/ctype.h index 91177ff7d7c..014fc2b0a53 100644 --- a/libstdc++-v3/include/tr1/ctype.h +++ b/libstdc++-v3/include/tr1/ctype.h @@ -29,6 +29,8 @@ #ifndef _TR1_CTYPE_H #define _TR1_CTYPE_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar index 23219bc2d6b..1140edaa965 100644 --- a/libstdc++-v3/include/tr1/cwchar +++ b/libstdc++-v3/include/tr1/cwchar @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #ifdef _GLIBCXX_USE_WCHAR_T diff --git a/libstdc++-v3/include/tr1/cwctype b/libstdc++-v3/include/tr1/cwctype index 1a71dd05d26..ddb25af4cfc 100644 --- a/libstdc++-v3/include/tr1/cwctype +++ b/libstdc++-v3/include/tr1/cwctype @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #ifdef _GLIBCXX_USE_WCHAR_T diff --git a/libstdc++-v3/include/tr1/fenv.h b/libstdc++-v3/include/tr1/fenv.h index 091b0b8a83d..2547f003fdb 100644 --- a/libstdc++-v3/include/tr1/fenv.h +++ b/libstdc++-v3/include/tr1/fenv.h @@ -29,6 +29,8 @@ #ifndef _TR1_FENV_H #define _TR1_FENV_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/float.h b/libstdc++-v3/include/tr1/float.h index 23670789d68..1dd3ef13f40 100644 --- a/libstdc++-v3/include/tr1/float.h +++ b/libstdc++-v3/include/tr1/float.h @@ -29,6 +29,8 @@ #ifndef _TR1_FLOAT_H #define _TR1_FLOAT_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional index 83d22bed9e5..ae219ab9678 100644 --- a/libstdc++-v3/include/tr1/functional +++ b/libstdc++-v3/include/tr1/functional @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include // for std::_Placeholder, std::_Bind, std::_Bind_result #include diff --git a/libstdc++-v3/include/tr1/inttypes.h b/libstdc++-v3/include/tr1/inttypes.h index 22a75144bb8..eb5ddbe5123 100644 --- a/libstdc++-v3/include/tr1/inttypes.h +++ b/libstdc++-v3/include/tr1/inttypes.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_INTTYPES_H #define _GLIBCXX_TR1_INTTYPES_H 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_INTTYPES_H diff --git a/libstdc++-v3/include/tr1/limits.h b/libstdc++-v3/include/tr1/limits.h index b54f9d2ed0f..73baf85cc94 100644 --- a/libstdc++-v3/include/tr1/limits.h +++ b/libstdc++-v3/include/tr1/limits.h @@ -29,6 +29,8 @@ #ifndef _TR1_LIMITS_H #define _TR1_LIMITS_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/math.h b/libstdc++-v3/include/tr1/math.h index 423b5ea0ad7..99c8f45b523 100644 --- a/libstdc++-v3/include/tr1/math.h +++ b/libstdc++-v3/include/tr1/math.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_MATH_H #define _GLIBCXX_TR1_MATH_H 1 +#include // TR1 + #include #if _GLIBCXX_USE_C99_MATH_TR1 diff --git a/libstdc++-v3/include/tr1/memory b/libstdc++-v3/include/tr1/memory index b50a5588a40..759000b2b93 100644 --- a/libstdc++-v3/include/tr1/memory +++ b/libstdc++-v3/include/tr1/memory @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // TR1 + #if defined(_GLIBCXX_INCLUDE_AS_CXX11) # error TR1 header cannot be included from C++11 header #endif diff --git a/libstdc++-v3/include/tr1/random b/libstdc++-v3/include/tr1/random index cb5754082e2..f9fbd4d625a 100644 --- a/libstdc++-v3/include/tr1/random +++ b/libstdc++-v3/include/tr1/random @@ -32,6 +32,8 @@ #pragma GCC system_header +#include // TR1 + #include #include #include diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex index 10db3725723..bcdea9d7881 100644 --- a/libstdc++-v3/include/tr1/regex +++ b/libstdc++-v3/include/tr1/regex @@ -33,6 +33,8 @@ #pragma GCC system_header +#include // TR1 + #include #include #include diff --git a/libstdc++-v3/include/tr1/stdarg.h b/libstdc++-v3/include/tr1/stdarg.h index 446dda16b1a..4622f3338be 100644 --- a/libstdc++-v3/include/tr1/stdarg.h +++ b/libstdc++-v3/include/tr1/stdarg.h @@ -29,6 +29,8 @@ #ifndef _TR1_STDARG_H #define _TR1_STDARG_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/stdbool.h b/libstdc++-v3/include/tr1/stdbool.h index 76d0b729e79..368e891dd3c 100644 --- a/libstdc++-v3/include/tr1/stdbool.h +++ b/libstdc++-v3/include/tr1/stdbool.h @@ -29,6 +29,8 @@ #ifndef _TR1_STDBOOL_H #define _TR1_STDBOOL_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/stdint.h b/libstdc++-v3/include/tr1/stdint.h index 59c1d958fdb..b19361b3053 100644 --- a/libstdc++-v3/include/tr1/stdint.h +++ b/libstdc++-v3/include/tr1/stdint.h @@ -29,6 +29,8 @@ #ifndef _TR1_STDINT_H #define _TR1_STDINT_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/stdio.h b/libstdc++-v3/include/tr1/stdio.h index f7cc5c7ebe7..3ef65f9044b 100644 --- a/libstdc++-v3/include/tr1/stdio.h +++ b/libstdc++-v3/include/tr1/stdio.h @@ -29,6 +29,8 @@ #ifndef _TR1_STDIO_H #define _TR1_STDIO_H 1 +#include // TR1 + #include #endif diff --git a/libstdc++-v3/include/tr1/stdlib.h b/libstdc++-v3/include/tr1/stdlib.h index 0e9c605cce8..0963136ba3d 100644 --- a/libstdc++-v3/include/tr1/stdlib.h +++ b/libstdc++-v3/include/tr1/stdlib.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_STDLIB_H #define _GLIBCXX_TR1_STDLIB_H 1 +#include // TR1 + #include #if _GLIBCXX_HOSTED diff --git a/libstdc++-v3/include/tr1/tgmath.h b/libstdc++-v3/include/tr1/tgmath.h index 3871c3c93e5..a3505c9b099 100644 --- a/libstdc++-v3/include/tr1/tgmath.h +++ b/libstdc++-v3/include/tr1/tgmath.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_TGMATH_H #define _GLIBCXX_TR1_TGMATH_H 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_TGMATH_H diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple index 94b1c0de532..a24da25df73 100644 --- a/libstdc++-v3/include/tr1/tuple +++ b/libstdc++-v3/include/tr1/tuple @@ -34,6 +34,8 @@ #pragma GCC system_header +#include // TR1 + #include namespace std _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index 2ee3b06e450..305a0d03de2 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include namespace std _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map index edec4e2d379..24d38920021 100644 --- a/libstdc++-v3/include/tr1/unordered_map +++ b/libstdc++-v3/include/tr1/unordered_map @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #include #include diff --git a/libstdc++-v3/include/tr1/unordered_set b/libstdc++-v3/include/tr1/unordered_set index fa11b167847..59f0ab92734 100644 --- a/libstdc++-v3/include/tr1/unordered_set +++ b/libstdc++-v3/include/tr1/unordered_set @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #include #include diff --git a/libstdc++-v3/include/tr1/utility b/libstdc++-v3/include/tr1/utility index e6e3bbd42fa..cc2699d8a91 100644 --- a/libstdc++-v3/include/tr1/utility +++ b/libstdc++-v3/include/tr1/utility @@ -31,6 +31,8 @@ #pragma GCC system_header +#include // TR1 + #include #include #include diff --git a/libstdc++-v3/include/tr1/wchar.h b/libstdc++-v3/include/tr1/wchar.h index 503ca203961..0812c07ef11 100644 --- a/libstdc++-v3/include/tr1/wchar.h +++ b/libstdc++-v3/include/tr1/wchar.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_WCHAR_H #define _GLIBCXX_TR1_WCHAR_H 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_WCHAR_H diff --git a/libstdc++-v3/include/tr1/wctype.h b/libstdc++-v3/include/tr1/wctype.h index fa0e4581a7c..84fd7cc5045 100644 --- a/libstdc++-v3/include/tr1/wctype.h +++ b/libstdc++-v3/include/tr1/wctype.h @@ -29,6 +29,8 @@ #ifndef _GLIBCXX_TR1_WCTYPE_H #define _GLIBCXX_TR1_WCTYPE_H 1 +#include // TR1 + #include #endif // _GLIBCXX_TR1_WCTYPE_H diff --git a/libstdc++-v3/testsuite/lib/prune.exp b/libstdc++-v3/testsuite/lib/prune.exp index 70ff302288e..d457e975218 100644 --- a/libstdc++-v3/testsuite/lib/prune.exp +++ b/libstdc++-v3/testsuite/lib/prune.exp @@ -33,6 +33,10 @@ proc libstdc++-dg-prune { system text } { # send_user "Before:$text\n" + if { [string match "*This header is not available in freestanding mode.*" $text] } { + return "::unsupported::hosted C++ headers not supported" + } + # Ignore caret diagnostics. Unfortunately dejaGNU trims leading # spaces, so one cannot rely on them being present. regsub -all "(^|\n)\[^\n\]+\n *\\^\n" $text "\n" text From patchwork Fri Sep 30 16:45:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1601 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp579523wrs; Fri, 30 Sep 2022 09:48:36 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7qJ795flDzhwEnimmFwEyEToLZ9glAVI83gNIIiLsY/4wk694ti4ktsPXYpVrTOkg/0t/w X-Received: by 2002:a17:907:a068:b0:773:e2bd:554d with SMTP id ia8-20020a170907a06800b00773e2bd554dmr7112620ejc.743.1664556516049; Fri, 30 Sep 2022 09:48:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556516; cv=none; d=google.com; s=arc-20160816; b=vftwGxhLHNmbNx0CA1W4Y+mv0BQQglSavmlvDOk9b2Eg7uC24JT8tlD3ck4WgF/cqQ qOCdZRU6cT/1gWeeGpx84E7UVMmP9yCAAGY42gNqauehO1lRNH8JvnTmvIXaj/oZWNf2 ufEKQ9j/jAXGaHTqMRGuJE4NBPnZSTBQQSd1G8UQaRh9luZ6BudE0F6vToO58AJoaQSz jXlJRVR6qO+P7mxWLibU2buYn1Mz0UUoSc/JXmLgRYk/yIG9kbI6vW0yBOgZMCya/YZJ 3kLMQE8TxrTp5LQeznpmXiLBghJreXiAbcXqVk47c664i54/JQKt+p72rbAmOL4uOUnd EPwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=KiJ36AfK+Pa86dDHhTnUYB8ZeWNCYSk7XVja8xO/5QQ=; b=te7mrIyxKfo87/I8MlFHjvaFKHo1I9H5WtFK+Y7CRm2EBBoN88yF/ZMrCs+rogvQZo X3jEg1g+6y70jLLxYrxFRzdb0IsAGeIEQVbYnZZzUDOsDlut3w2D5NPMcUSh8ue+0nYY 0VoL7uoS+YRkd1Ei6hlAwkcVL3H8RqJ9G/8AyOBTTvQ3mx+BPncyjDoHlBfkKrZ3ZO3o mFDMCy8ROlnILm5asNzH/phv709yjRxoBM8DBn0UVXmRwkm+eQjRbYJ5Qc12+4XSo3Fu iXP+szW3l14ZTRscWc2Ima5LxS0B0XKSRngY+E2YlWUxmJfYNwZY5XiEnahK4elH98RU Z2IQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=P58kZzJd; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id u5-20020a509505000000b0045744c3c3d8si2148245eda.515.2022.09.30.09.48.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:48:36 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=P58kZzJd; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0794B385380E for ; Fri, 30 Sep 2022 16:47:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0794B385380E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556439; bh=KiJ36AfK+Pa86dDHhTnUYB8ZeWNCYSk7XVja8xO/5QQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=P58kZzJd1oilf2EiES0m4ElhckfYyhyqnGYY0UbRP/X2y9xfJ+Di6s/txfRt01BlK GPxbHIuSX13Slb0EaM1wYuqaqguGZUyB+qrVopM2UNQ4X/qAgCy+uPDCq84zgSJQqm zhU7JUDNJeg6lQItKmPuPSAA4FGwMQOc1QPFD4lw= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by sourceware.org (Postfix) with ESMTPS id F29A0385382A; Fri, 30 Sep 2022 16:46:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F29A0385382A Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4MfGMl021Hz9sSy; Fri, 30 Sep 2022 18:46:27 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 05/10] c-family: Implement new `int main' semantics in freestanding Date: Fri, 30 Sep 2022 18:45:51 +0200 Message-Id: <20220930164556.1198044-6-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4MfGMl021Hz9sSy X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414013213668609?= X-GMAIL-MSGID: =?utf-8?q?1745414013213668609?= From now, by default, (specifically) `int main' in freestanding will implicitly return 0, as it does for hosted modes. The old behaviour is still accessible via -fno-builtin-main. gcc/c-family/ChangeLog: * c-common.cc (disable_builtin_function): Support special value `main' that, in freestanding, allows disabling special casing placed around `main'. * c-common.h: Add flag_builtin_main. (want_builtin_main_p): New function, true iff hosted OR builtin_main are set. gcc/c/ChangeLog: * c-decl.cc (grokdeclarator): Consider flag_builtin_main when deciding whether to emit warnings. (finish_function): Consider flag_builtin_main when deciding whether to emit an implicit zero return. * c-objc-common.cc (c_missing_noreturn_ok_p): Consider missing noreturn okay only when hosted or when builtin_main is enabled. gcc/cp/ChangeLog: * cp-tree.h (DECL_MAIN_P): Consider flag_builtin_main when deciding whether this function is to be the special function main. gcc/ChangeLog: * doc/invoke.texi: Document -fno-builtin-main. gcc/testsuite/ChangeLog: * gcc.dg/c11-noreturn-4.c: Add -fno-builtin-main to options. * gcc.dg/inline-10.c: Likewise. * gcc.dg/noreturn-4.c: Likewise. * g++.dg/freestanding-main-implicitly-returns.C: New test. * g++.dg/no-builtin-main.C: New test. * gcc.dg/freestanding-main-implicitly-returns.c: New test. * gcc.dg/no-builtin-main.c: New test. Signed-off-by: Arsen Arsenović --- 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 +- 13 files changed, 69 insertions(+), 18 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 diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc index 3c60a89bfe2..117db8a1928 100644 --- a/gcc/c-family/c-common.cc +++ b/gcc/c-family/c-common.cc @@ -232,6 +232,10 @@ int flag_isoc2x; int flag_hosted = 1; +/* Nonzero means that we want to give main its special meaning */ + +int flag_builtin_main = 1; + /* ObjC language option variables. */ @@ -4878,6 +4882,8 @@ disable_builtin_function (const char *name) { if (startswith (name, "__builtin_")) error ("cannot disable built-in function %qs", name); + else if (strcmp("main", name) == 0) + flag_builtin_main = 0; else { disabled_builtin *new_disabled_builtin = XNEW (disabled_builtin); diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index 5f470d94f4a..cbed5f0f9e8 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -687,6 +687,16 @@ extern int flag_isoc2x; extern int flag_hosted; +/* Nonzero means that we want to give main its special meaning */ + +extern int flag_builtin_main; + +/* Returns false if both flag_hosted and flag_builtin_main are zero, true + otherwise. */ +inline bool builtin_main_p() { + return flag_hosted || flag_builtin_main; +} + /* ObjC language option variables. */ diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc index bac8e6cc3f6..5060b3f2a41 100644 --- a/gcc/c/c-decl.cc +++ b/gcc/c/c-decl.cc @@ -7695,7 +7695,7 @@ grokdeclarator (const struct c_declarator *declarator, /* Record presence of `inline' and `_Noreturn', if it is reasonable. */ - if (flag_hosted && MAIN_NAME_P (declarator->u.id.id)) + if (builtin_main_p() && MAIN_NAME_P (declarator->u.id.id)) { if (declspecs->inline_p) pedwarn (loc, 0, "cannot inline function %"); @@ -10314,7 +10314,7 @@ finish_function (location_t end_loc) if (DECL_RESULT (fndecl) && DECL_RESULT (fndecl) != error_mark_node) DECL_CONTEXT (DECL_RESULT (fndecl)) = fndecl; - if (MAIN_NAME_P (DECL_NAME (fndecl)) && flag_hosted + if (MAIN_NAME_P (DECL_NAME (fndecl)) && builtin_main_p() && TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (fndecl))) == integer_type_node && flag_isoc99) { diff --git a/gcc/c/c-objc-common.cc b/gcc/c/c-objc-common.cc index 70e10a98e33..e229580b182 100644 --- a/gcc/c/c-objc-common.cc +++ b/gcc/c/c-objc-common.cc @@ -37,9 +37,12 @@ static bool c_tree_printer (pretty_printer *, text_info *, const char *, bool c_missing_noreturn_ok_p (tree decl) { - /* A missing noreturn is not ok for freestanding implementations and - ok for the `main' function in hosted implementations. */ - return flag_hosted && MAIN_NAME_P (DECL_ASSEMBLER_NAME (decl)); + /* Missing a return is only okay when flag_builtin_main is enabled, and we + are `int main'. */ + if (!MAIN_NAME_P (DECL_ASSEMBLER_NAME (decl))) + return false; + return builtin_main_p() + && TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (decl))) == integer_type_node; } /* Called from check_global_declaration. */ diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 67aea9653e3..50751ab74b6 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -771,11 +771,13 @@ typedef struct ptrmem_cst * ptrmem_cst_t; /* Returns nonzero iff NODE is a declaration for the global function `main'. */ -#define DECL_MAIN_P(NODE) \ - (DECL_EXTERN_C_FUNCTION_P (NODE) \ - && DECL_NAME (NODE) != NULL_TREE \ - && MAIN_NAME_P (DECL_NAME (NODE)) \ - && flag_hosted) +#define DECL_MAIN_P(NODE) \ + (DECL_EXTERN_C_FUNCTION_P (NODE) \ + && DECL_NAME (NODE) != NULL_TREE \ + && MAIN_NAME_P (DECL_NAME (NODE)) \ + && (flag_hosted || (flag_builtin_main \ + && TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (NODE))) \ + == integer_type_node))) /* Lookup walker marking. */ #define LOOKUP_SEEN_P(NODE) TREE_VISITED (NODE) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index a5dc6377835..79f144ec819 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -2537,8 +2537,10 @@ this switch only affects the @code{asm} and @code{typeof} keywords, since @code{inline} is a standard keyword in ISO C99. @item -fno-builtin +@itemx -fno-builtin-main @itemx -fno-builtin-@var{function} @opindex fno-builtin +@opindex fno-builtin-main @opindex fbuiltin @cindex built-in functions Don't recognize built-in functions that do not begin with @@ -2577,6 +2579,11 @@ built-in functions selectively when using @option{-fno-builtin} or #define strcpy(d, s) __builtin_strcpy ((d), (s)) @end smallexample +The special form @option{-fno-builtin-main} permits disabling special +handling of the @code{main} function, such as the implicit zero +return. This option has no effect in hosted mode (as hosted takes +precedence over it) and is not implied by @option{-fno-builtin}. + @item -fcond-mismatch @opindex fcond-mismatch Allow conditional expressions with mismatched types in the second and @@ -2585,13 +2592,16 @@ is not supported for C++. @item -ffreestanding @opindex ffreestanding +@opindex fno-builtin-main @cindex hosted environment Assert that compilation targets a freestanding environment. This -implies @option{-fno-builtin}. A freestanding environment -is one in which the standard library may not exist, and program startup may -not necessarily be at @code{main}. The most obvious example is an OS kernel. -This is equivalent to @option{-fno-hosted}. +implies @option{-fno-builtin}. A freestanding environment is one in +which the standard library may not exist, and program startup may not +necessarily be at @code{main}. The most obvious example is an OS +kernel. Note that this option does not imply +@option{-fno-builtin-main}. @option{-ffreestanding} is equivalent to +@option{-fno-hosted}. @xref{Standards,,Language Standards Supported by GCC}, for details of freestanding and hosted environments. @@ -5828,7 +5838,7 @@ Options} and @ref{Objective-C and Objective-C++ Dialect Options}. -Wimplicit-function-declaration @r{(C and Objective-C only)} @gol -Winit-self @r{(only for C++)} @gol -Wlogical-not-parentheses @gol --Wmain @r{(only for C/ObjC and unless} @option{-ffreestanding}@r{)} @gol +-Wmain @r{(only for C/ObjC and unless} @option{-fno-builtin-main}@r{)} @gol -Wmaybe-uninitialized @gol -Wmemset-elt-size @gol -Wmemset-transposed-args @gol diff --git a/gcc/testsuite/g++.dg/freestanding-main-implicitly-returns.C b/gcc/testsuite/g++.dg/freestanding-main-implicitly-returns.C new file mode 100644 index 00000000000..068ddd4d5ad --- /dev/null +++ b/gcc/testsuite/g++.dg/freestanding-main-implicitly-returns.C @@ -0,0 +1,5 @@ +/* Make sure main is implicitly returned from, even in freestanding. */ +/* { dg-do compile } */ +/* { dg-options "-Wreturn-type -ffreestanding" } */ + +int main() {} diff --git a/gcc/testsuite/g++.dg/no-builtin-main.C b/gcc/testsuite/g++.dg/no-builtin-main.C new file mode 100644 index 00000000000..7431784d018 --- /dev/null +++ b/gcc/testsuite/g++.dg/no-builtin-main.C @@ -0,0 +1,5 @@ +/* Make sure we get warned about missing return with -fno-builtin-main. */ +/* { dg-do compile } */ +/* { dg-options "-Wreturn-type -ffreestanding -fno-builtin-main" } */ + +int main() {} /* { dg-warning "-Wreturn-type" } */ diff --git a/gcc/testsuite/gcc.dg/c11-noreturn-4.c b/gcc/testsuite/gcc.dg/c11-noreturn-4.c index a92a1140f67..16fd8f1b0be 100644 --- a/gcc/testsuite/gcc.dg/c11-noreturn-4.c +++ b/gcc/testsuite/gcc.dg/c11-noreturn-4.c @@ -1,6 +1,6 @@ /* Test C11 _Noreturn. Test _Noreturn on main, freestanding. */ /* { dg-do compile } */ -/* { dg-options "-std=c11 -pedantic-errors -ffreestanding" } */ +/* { dg-options "-std=c11 -pedantic-errors -ffreestanding -fno-builtin-main" } */ _Noreturn void exit (int); diff --git a/gcc/testsuite/gcc.dg/freestanding-main-implicitly-returns.c b/gcc/testsuite/gcc.dg/freestanding-main-implicitly-returns.c new file mode 100644 index 00000000000..068ddd4d5ad --- /dev/null +++ b/gcc/testsuite/gcc.dg/freestanding-main-implicitly-returns.c @@ -0,0 +1,5 @@ +/* Make sure main is implicitly returned from, even in freestanding. */ +/* { dg-do compile } */ +/* { dg-options "-Wreturn-type -ffreestanding" } */ + +int main() {} diff --git a/gcc/testsuite/gcc.dg/inline-10.c b/gcc/testsuite/gcc.dg/inline-10.c index f7a7592a6a9..bb59f5d81a7 100644 --- a/gcc/testsuite/gcc.dg/inline-10.c +++ b/gcc/testsuite/gcc.dg/inline-10.c @@ -1,6 +1,6 @@ /* Test inline main, gnu99 mode, freestanding, -pedantic-errors. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ -/* { dg-options "-std=gnu99 -ffreestanding -pedantic-errors" } */ +/* { dg-options "-std=gnu99 -fno-builtin-main -ffreestanding -pedantic-errors" } */ inline int main (void) { return 1; } diff --git a/gcc/testsuite/gcc.dg/no-builtin-main.c b/gcc/testsuite/gcc.dg/no-builtin-main.c new file mode 100644 index 00000000000..7431784d018 --- /dev/null +++ b/gcc/testsuite/gcc.dg/no-builtin-main.c @@ -0,0 +1,5 @@ +/* Make sure we get warned about missing return with -fno-builtin-main. */ +/* { dg-do compile } */ +/* { dg-options "-Wreturn-type -ffreestanding -fno-builtin-main" } */ + +int main() {} /* { dg-warning "-Wreturn-type" } */ diff --git a/gcc/testsuite/gcc.dg/noreturn-4.c b/gcc/testsuite/gcc.dg/noreturn-4.c index 6fe144754d0..c1bdc76b16f 100644 --- a/gcc/testsuite/gcc.dg/noreturn-4.c +++ b/gcc/testsuite/gcc.dg/noreturn-4.c @@ -1,6 +1,6 @@ /* Check for "noreturn" warning in main. */ /* { dg-do compile } */ -/* { dg-options "-O2 -Wmissing-noreturn -ffreestanding" } */ +/* { dg-options "-O2 -Wmissing-noreturn -ffreestanding -fno-builtin-main" } */ extern void exit (int) __attribute__ ((__noreturn__)); int From patchwork Fri Sep 30 16:45:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1604 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp580877wrs; Fri, 30 Sep 2022 09:52:08 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5950cY5nn1xTAzPhl4GhYaH7HnBxaGtCvfchqdRgbiAPjqv27ncpmAVKlcqxLAa2uoaRlW X-Received: by 2002:a17:906:ee81:b0:77e:829a:76e9 with SMTP id wt1-20020a170906ee8100b0077e829a76e9mr7391976ejb.207.1664556728511; Fri, 30 Sep 2022 09:52:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556728; cv=none; d=google.com; s=arc-20160816; b=B3HH2zXCPZhyl2AEeFxaoE55zKsSf6cUgPvtv1GBQxebm3r2wQE4RtcfO9/skqWGVU Bf+xLOSCNqh2OPpioTGFys0G+OHE/bRlFFFNGQ/toevJJhwsGfSDww6HIoWaDl7YUx2p v0VGxloydFCkSmHyv1T9+PZe3Po7TVKsFN4+reSJe0GH7Lxdgdy+PPRKEzjRJuuc+Qel Okd53FNUA149ZpHeTWpSKxbVt2Li/AHVfcvoBQ9EVqlB3RoG/lgJRgdb93tl3EDKbaXO M6HFtxbN3WuP5BucP9ngeU8MXCot3uy477kMmpkafL7fqAAGmJ5yEy8GRFXm7oaLGgnz CFHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=0J4qz8z2gvSq3+h2T5jBLRmeHEEhVKoOkJLI8SJSc0Q=; b=0o9EMMHKQ31PbE8HgFOaSYAt8P4xuIgJlOL4tOMMAmtPIWg2e7yqdiFqpqp+WewQUP E7NrJU7gkyRJHGtjur86GPXTKKx9O59rvlt2ZAyKpmYibzMJYyade4BlXCoKwbjAERSY Frn3uwAb2sW9m2AyiHCZsueY4zBTTu4JOop3nEJEku4WKkfPC/VbTqtnYDV4x5xfq+uU tbYmUtQlGVfwxvD8Te4lBKWoifN2FwwVjJTMs8BaL0+yY3C8Z69M7hCDdkKPVS2yOFV1 5WLAsySH9Qyp3plOsiDPU6GJfsOhKsC6D5eg50/hZPgWutFmz/+mbLh++cIASFZV2Jwj SH+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=vq1cvzHx; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id g25-20020a50d0d9000000b00457463dfc74si2510937edf.83.2022.09.30.09.52.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:52:08 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=vq1cvzHx; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3348838A814B for ; Fri, 30 Sep 2022 16:48:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3348838A814B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556519; bh=0J4qz8z2gvSq3+h2T5jBLRmeHEEhVKoOkJLI8SJSc0Q=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=vq1cvzHx8zlH/vGz+GhTqW+Pm4fvGsChls7V5NG0/GRvkFKwYlIG0xRKivBSYgAA/ aVttBvYlhpqByCT/6L8TMtg1XpDp+j7GnMDc0D+7GTyo0CMttWeh9LIT3s2tlkscJx aNqZ6C3uo71lB2ygMPJDI133oo1XGqRZKZnagNi8= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by sourceware.org (Postfix) with ESMTPS id 2D6A3385E017; Fri, 30 Sep 2022 16:46:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2D6A3385E017 Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4MfGMn38Tqz9sWk; Fri, 30 Sep 2022 18:46:29 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 06/10] libstdc++: Rework how freestanding install works [PR106953] Date: Fri, 30 Sep 2022 18:45:52 +0200 Message-Id: <20220930164556.1198044-7-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4MfGMn38Tqz9sWk X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414236002162233?= X-GMAIL-MSGID: =?utf-8?q?1745414236002162233?= In light of there being far more freestanding headers now, ad-hoc maintenance of a subset of the install implementation has become unsustainable. Instead, we gate off a part of the normal install routine so that it works without HOSTED enabled, as well as subdivide lists of headers into freestanding and hosted components, according to the HOSTED flag. libstdc++-v3/ChangeLog: PR libstdc++/106953 * include/Makefile.am [!_GLIBCXX_HOSTED]: Remove install-freestanding-headers, unifying it with the usual install-headers * include/Makefile.in: Regenerate. Signed-off-by: Arsen Arsenović --- libstdc++-v3/include/Makefile.am | 300 +++++++------- libstdc++-v3/include/Makefile.in | 656 +++++++++++++++---------------- 2 files changed, 477 insertions(+), 479 deletions(-) diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 56227427b6d..97542524a69 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -25,58 +25,70 @@ include $(top_srcdir)/fragment.am # Standard C++ includes. std_srcdir = ${glibcxx_srcdir}/include/std std_builddir = . -std_headers = \ +std_freestanding = \ ${std_srcdir}/algorithm \ - ${std_srcdir}/any \ ${std_srcdir}/array \ ${std_srcdir}/atomic \ - ${std_srcdir}/barrier \ ${std_srcdir}/bit \ ${std_srcdir}/bitset \ + ${std_srcdir}/concepts \ + ${std_srcdir}/coroutine \ + ${std_srcdir}/expected \ + ${std_srcdir}/functional \ + ${std_srcdir}/iterator \ + ${std_srcdir}/limits \ + ${std_srcdir}/memory \ + ${std_srcdir}/numbers \ + ${std_srcdir}/numeric \ + ${std_srcdir}/optional \ + ${std_srcdir}/ranges \ + ${std_srcdir}/ratio \ + ${std_srcdir}/scoped_allocator \ + ${std_srcdir}/source_location \ + ${std_srcdir}/span \ + ${std_srcdir}/tuple \ + ${std_srcdir}/type_traits \ + ${std_srcdir}/typeindex \ + ${std_srcdir}/utility \ + ${std_srcdir}/variant \ + ${std_srcdir}/version + +if !GLIBCXX_HOSTED +std_headers = ${std_freestanding} +else GLIBCXX_HOSTED +std_headers = \ + ${std_freestanding} \ + ${std_srcdir}/any \ + ${std_srcdir}/barrier \ ${std_srcdir}/charconv \ ${std_srcdir}/chrono \ ${std_srcdir}/codecvt \ ${std_srcdir}/complex \ - ${std_srcdir}/concepts \ ${std_srcdir}/condition_variable \ - ${std_srcdir}/coroutine \ ${std_srcdir}/deque \ ${std_srcdir}/execution \ - ${std_srcdir}/expected \ ${std_srcdir}/filesystem \ ${std_srcdir}/forward_list \ ${std_srcdir}/fstream \ - ${std_srcdir}/functional \ ${std_srcdir}/future \ ${std_srcdir}/iomanip \ ${std_srcdir}/ios \ ${std_srcdir}/iosfwd \ ${std_srcdir}/iostream \ ${std_srcdir}/istream \ - ${std_srcdir}/iterator \ ${std_srcdir}/latch \ - ${std_srcdir}/limits \ ${std_srcdir}/list \ ${std_srcdir}/locale \ ${std_srcdir}/map \ - ${std_srcdir}/memory \ ${std_srcdir}/memory_resource \ ${std_srcdir}/mutex \ - ${std_srcdir}/numbers \ - ${std_srcdir}/numeric \ - ${std_srcdir}/optional \ ${std_srcdir}/ostream \ ${std_srcdir}/queue \ ${std_srcdir}/random \ - ${std_srcdir}/ranges \ - ${std_srcdir}/ratio \ ${std_srcdir}/regex \ - ${std_srcdir}/scoped_allocator \ ${std_srcdir}/semaphore \ ${std_srcdir}/set \ ${std_srcdir}/shared_mutex \ - ${std_srcdir}/source_location \ - ${std_srcdir}/span \ ${std_srcdir}/spanstream \ ${std_srcdir}/sstream \ ${std_srcdir}/syncstream \ @@ -89,26 +101,68 @@ std_headers = \ ${std_srcdir}/string_view \ ${std_srcdir}/system_error \ ${std_srcdir}/thread \ - ${std_srcdir}/tuple \ - ${std_srcdir}/typeindex \ - ${std_srcdir}/type_traits \ ${std_srcdir}/unordered_map \ ${std_srcdir}/unordered_set \ - ${std_srcdir}/utility \ ${std_srcdir}/valarray \ - ${std_srcdir}/variant \ - ${std_srcdir}/vector \ - ${std_srcdir}/version + ${std_srcdir}/vector +endif GLIBCXX_HOSTED bits_srcdir = ${glibcxx_srcdir}/include/bits bits_builddir = ./bits -bits_headers = \ +bits_freestanding = \ ${bits_srcdir}/algorithmfwd.h \ ${bits_srcdir}/align.h \ - ${bits_srcdir}/alloc_traits.h \ - ${bits_srcdir}/allocated_ptr.h \ ${bits_srcdir}/allocator.h \ + ${bits_srcdir}/alloc_traits.h \ ${bits_srcdir}/atomic_base.h \ + ${bits_srcdir}/c++0x_warning.h \ + ${bits_srcdir}/boost_concept_check.h \ + ${bits_srcdir}/concept_check.h \ + ${bits_srcdir}/cpp_type_traits.h \ + ${bits_srcdir}/enable_special_members.h \ + ${bits_srcdir}/functexcept.h \ + ${bits_srcdir}/functional_hash.h \ + ${bits_srcdir}/invoke.h \ + ${bits_srcdir}/iterator_concepts.h \ + ${bits_srcdir}/max_size_type.h \ + ${bits_srcdir}/memoryfwd.h \ + ${bits_srcdir}/move.h \ + ${bits_srcdir}/predefined_ops.h \ + ${bits_srcdir}/parse_numbers.h \ + ${bits_srcdir}/ptr_traits.h \ + ${bits_srcdir}/range_access.h \ + ${bits_srcdir}/ranges_algo.h \ + ${bits_srcdir}/ranges_algobase.h \ + ${bits_srcdir}/ranges_base.h \ + ${bits_srcdir}/ranges_cmp.h \ + ${bits_srcdir}/ranges_uninitialized.h \ + ${bits_srcdir}/ranges_util.h \ + ${bits_srcdir}/refwrap.h \ + ${bits_srcdir}/stl_algo.h \ + ${bits_srcdir}/stl_algobase.h \ + ${bits_srcdir}/stl_construct.h \ + ${bits_srcdir}/stl_function.h \ + ${bits_srcdir}/stl_iterator.h \ + ${bits_srcdir}/stl_iterator_base_funcs.h \ + ${bits_srcdir}/stl_iterator_base_types.h \ + ${bits_srcdir}/stl_numeric.h \ + ${bits_srcdir}/stl_heap.h \ + ${bits_srcdir}/stl_pair.h \ + ${bits_srcdir}/stl_raw_storage_iter.h \ + ${bits_srcdir}/stl_relops.h \ + ${bits_srcdir}/stl_uninitialized.h \ + ${bits_srcdir}/uniform_int_dist.h \ + ${bits_srcdir}/unique_ptr.h \ + ${bits_srcdir}/uses_allocator.h \ + ${bits_srcdir}/uses_allocator_args.h \ + ${bits_srcdir}/utility.h + +if !GLIBCXX_HOSTED +bits_headers = ${bits_freestanding} +else GLIBCXX_HOSTED +bits_headers = \ + ${bits_freestanding} \ + ${bits_srcdir}/allocated_ptr.h \ ${bits_srcdir}/atomic_futex.h \ ${bits_srcdir}/atomic_timed_wait.h \ ${bits_srcdir}/atomic_wait.h \ @@ -116,17 +170,12 @@ bits_headers = \ ${bits_srcdir}/basic_ios.tcc \ ${bits_srcdir}/basic_string.h \ ${bits_srcdir}/basic_string.tcc \ - ${bits_srcdir}/boost_concept_check.h \ - ${bits_srcdir}/c++0x_warning.h \ ${bits_srcdir}/char_traits.h \ ${bits_srcdir}/charconv.h \ ${bits_srcdir}/chrono.h \ ${bits_srcdir}/codecvt.h \ - ${bits_srcdir}/concept_check.h \ ${bits_srcdir}/cow_string.h \ - ${bits_srcdir}/cpp_type_traits.h \ ${bits_srcdir}/deque.tcc \ - ${bits_srcdir}/enable_special_members.h \ ${bits_srcdir}/erase_if.h \ ${bits_srcdir}/forward_list.h \ ${bits_srcdir}/forward_list.tcc \ @@ -135,17 +184,13 @@ bits_headers = \ ${bits_srcdir}/fs_ops.h \ ${bits_srcdir}/fs_path.h \ ${bits_srcdir}/fstream.tcc \ - ${bits_srcdir}/functexcept.h \ - ${bits_srcdir}/functional_hash.h \ ${bits_srcdir}/gslice.h \ ${bits_srcdir}/gslice_array.h \ ${bits_srcdir}/hashtable.h \ ${bits_srcdir}/hashtable_policy.h \ ${bits_srcdir}/indirect_array.h \ - ${bits_srcdir}/invoke.h \ ${bits_srcdir}/ios_base.h \ ${bits_srcdir}/istream.tcc \ - ${bits_srcdir}/iterator_concepts.h \ ${bits_srcdir}/list.tcc \ ${bits_srcdir}/locale_classes.h \ ${bits_srcdir}/locale_classes.tcc \ @@ -156,31 +201,17 @@ bits_headers = \ ${bits_srcdir}/locale_facets_nonio.tcc \ ${bits_srcdir}/localefwd.h \ ${bits_srcdir}/mask_array.h \ - ${bits_srcdir}/max_size_type.h \ ${bits_srcdir}/memory_resource.h \ - ${bits_srcdir}/memoryfwd.h \ ${bits_srcdir}/mofunc_impl.h \ - ${bits_srcdir}/move.h \ ${bits_srcdir}/move_only_function.h \ ${bits_srcdir}/new_allocator.h \ ${bits_srcdir}/node_handle.h \ ${bits_srcdir}/ostream.tcc \ ${bits_srcdir}/ostream_insert.h \ - ${bits_srcdir}/parse_numbers.h \ ${bits_srcdir}/postypes.h \ - ${bits_srcdir}/predefined_ops.h \ - ${bits_srcdir}/ptr_traits.h \ ${bits_srcdir}/quoted_string.h \ ${bits_srcdir}/random.h \ ${bits_srcdir}/random.tcc \ - ${bits_srcdir}/range_access.h \ - ${bits_srcdir}/ranges_algobase.h \ - ${bits_srcdir}/ranges_algo.h \ - ${bits_srcdir}/ranges_base.h \ - ${bits_srcdir}/ranges_cmp.h \ - ${bits_srcdir}/ranges_uninitialized.h \ - ${bits_srcdir}/ranges_util.h \ - ${bits_srcdir}/refwrap.h \ ${bits_srcdir}/regex.h \ ${bits_srcdir}/regex.tcc \ ${bits_srcdir}/regex_constants.h \ @@ -205,30 +236,18 @@ bits_headers = \ ${bits_srcdir}/std_function.h \ ${bits_srcdir}/std_mutex.h \ ${bits_srcdir}/std_thread.h \ - ${bits_srcdir}/stl_algo.h \ - ${bits_srcdir}/stl_algobase.h \ ${bits_srcdir}/stl_bvector.h \ - ${bits_srcdir}/stl_construct.h \ ${bits_srcdir}/stl_deque.h \ - ${bits_srcdir}/stl_function.h \ - ${bits_srcdir}/stl_heap.h \ - ${bits_srcdir}/stl_iterator.h \ - ${bits_srcdir}/stl_iterator_base_funcs.h \ - ${bits_srcdir}/stl_iterator_base_types.h \ ${bits_srcdir}/stl_list.h \ ${bits_srcdir}/stl_map.h \ ${bits_srcdir}/stl_multimap.h \ ${bits_srcdir}/stl_multiset.h \ - ${bits_srcdir}/stl_numeric.h \ - ${bits_srcdir}/stl_pair.h \ ${bits_srcdir}/stl_queue.h \ - ${bits_srcdir}/stl_raw_storage_iter.h \ ${bits_srcdir}/stl_relops.h \ ${bits_srcdir}/stl_set.h \ ${bits_srcdir}/stl_stack.h \ ${bits_srcdir}/stl_tempbuf.h \ ${bits_srcdir}/stl_tree.h \ - ${bits_srcdir}/stl_uninitialized.h \ ${bits_srcdir}/stl_vector.h \ ${bits_srcdir}/stream_iterator.h \ ${bits_srcdir}/streambuf_iterator.h \ @@ -236,19 +255,15 @@ bits_headers = \ ${bits_srcdir}/stringfwd.h \ ${bits_srcdir}/string_view.tcc \ ${bits_srcdir}/this_thread_sleep.h \ - ${bits_srcdir}/uniform_int_dist.h \ ${bits_srcdir}/unique_lock.h \ - ${bits_srcdir}/unique_ptr.h \ ${bits_srcdir}/unordered_map.h \ ${bits_srcdir}/unordered_set.h \ - ${bits_srcdir}/uses_allocator.h \ - ${bits_srcdir}/uses_allocator_args.h \ - ${bits_srcdir}/utility.h \ ${bits_srcdir}/valarray_array.h \ ${bits_srcdir}/valarray_array.tcc \ ${bits_srcdir}/valarray_before.h \ ${bits_srcdir}/valarray_after.h \ ${bits_srcdir}/vector.tcc +endif GLIBCXX_HOSTED bits_host_headers = \ ${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM} @@ -293,15 +308,22 @@ pstl_headers = \ backward_srcdir = ${glibcxx_srcdir}/include/backward backward_builddir = ./backward -backward_headers = \ +backward_freestanding = \ ${backward_srcdir}/auto_ptr.h \ + ${backward_srcdir}/binders.h + +if !GLIBCXX_HOSTED +backward_headers = ${backward_freestanding} +else GLIBCXX_HOSTED +backward_headers = \ + ${backward_freestanding} \ ${backward_srcdir}/backward_warning.h \ - ${backward_srcdir}/binders.h \ ${backward_srcdir}/hash_map \ ${backward_srcdir}/hash_set \ ${backward_srcdir}/hash_fun.h \ ${backward_srcdir}/hashtable.h \ ${backward_srcdir}/strstream +endif GLIBCXX_HOSTED pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds pb_builddir = ./ext/pb_ds @@ -597,49 +619,56 @@ pb_headers7 = \ ext_srcdir = ${glibcxx_srcdir}/include/ext ext_builddir = ./ext -ext_headers = \ - ${ext_srcdir}/algorithm \ +ext_freestanding = \ ${ext_srcdir}/aligned_buffer.h \ ${ext_srcdir}/alloc_traits.h \ ${ext_srcdir}/atomicity.h \ - ${ext_srcdir}/bitmap_allocator.h \ ${ext_srcdir}/cast.h \ + ${ext_srcdir}/concurrence.h \ + ${ext_srcdir}/numeric_traits.h \ + ${ext_srcdir}/iterator \ + ${ext_srcdir}/pointer.h \ + ${ext_srcdir}/type_traits.h \ + ${ext_srcdir}/typelist.h + +if !GLIBCXX_HOSTED +ext_headers = ${ext_freestanding} +else GLIBCXX_HOSTED +ext_headers = \ + ${ext_freestanding} \ + ${ext_srcdir}/algorithm \ + ${ext_srcdir}/bitmap_allocator.h \ ${ext_srcdir}/cmath \ ${ext_srcdir}/codecvt_specializations.h \ - ${ext_srcdir}/concurrence.h \ ${ext_srcdir}/debug_allocator.h \ ${ext_srcdir}/enc_filebuf.h \ ${ext_srcdir}/extptr_allocator.h \ - ${ext_srcdir}/stdio_filebuf.h \ - ${ext_srcdir}/stdio_sync_filebuf.h \ ${ext_srcdir}/functional \ - ${ext_srcdir}/iterator \ ${ext_srcdir}/malloc_allocator.h \ ${ext_srcdir}/memory \ ${ext_srcdir}/mt_allocator.h \ ${ext_srcdir}/new_allocator.h \ ${ext_srcdir}/numeric \ - ${ext_srcdir}/numeric_traits.h \ ${ext_srcdir}/pod_char_traits.h \ - ${ext_srcdir}/pointer.h \ ${ext_srcdir}/pool_allocator.h \ - ${ext_srcdir}/rb_tree \ ${ext_srcdir}/random \ ${ext_srcdir}/random.tcc \ + ${ext_srcdir}/rb_tree \ + ${ext_srcdir}/rc_string_base.h \ ${ext_srcdir}/rope \ ${ext_srcdir}/ropeimpl.h \ ${ext_srcdir}/slist \ + ${ext_srcdir}/sso_string_base.h \ + ${ext_srcdir}/stdio_filebuf.h \ + ${ext_srcdir}/stdio_sync_filebuf.h \ ${ext_srcdir}/string_conversions.h \ ${ext_srcdir}/throw_allocator.h \ - ${ext_srcdir}/typelist.h \ - ${ext_srcdir}/type_traits.h \ - ${ext_srcdir}/rc_string_base.h \ - ${ext_srcdir}/sso_string_base.h \ + ${ext_srcdir}/vstring_fwd.h \ ${ext_srcdir}/vstring.h \ ${ext_srcdir}/vstring.tcc \ - ${ext_srcdir}/vstring_fwd.h \ ${ext_srcdir}/vstring_util.h \ ${ext_compat_headers} +endif GLIBCXX_HOSTED ext_compat_headers = \ ${backward_srcdir}/hash_set \ @@ -812,16 +841,25 @@ endif # This is the common subset of C++ files that all three "C" header models use. c_base_srcdir = $(C_INCLUDE_DIR) c_base_builddir = . +c_base_freestanding = \ + ${c_base_srcdir}/cfloat \ + ${c_base_srcdir}/climits \ + ${c_base_srcdir}/cstddef \ + ${c_base_srcdir}/cstdint \ + ${c_base_srcdir}/cstdlib + +if !GLIBCXX_HOSTED +c_base_headers = ${c_base_freestanding} +else GLIBCXX_HOSTED c_base_headers = \ + ${c_base_freestanding} \ ${c_base_srcdir}/cassert \ ${c_base_srcdir}/ccomplex \ ${c_base_srcdir}/cctype \ ${c_base_srcdir}/cerrno \ ${c_base_srcdir}/cfenv \ - ${c_base_srcdir}/cfloat \ ${c_base_srcdir}/cinttypes \ ${c_base_srcdir}/ciso646 \ - ${c_base_srcdir}/climits \ ${c_base_srcdir}/clocale \ ${c_base_srcdir}/cmath \ ${c_base_srcdir}/csetjmp \ @@ -829,16 +867,14 @@ c_base_headers = \ ${c_base_srcdir}/cstdalign \ ${c_base_srcdir}/cstdarg \ ${c_base_srcdir}/cstdbool \ - ${c_base_srcdir}/cstddef \ - ${c_base_srcdir}/cstdint \ ${c_base_srcdir}/cstdio \ - ${c_base_srcdir}/cstdlib \ ${c_base_srcdir}/cstring \ ${c_base_srcdir}/ctgmath \ ${c_base_srcdir}/ctime \ ${c_base_srcdir}/cuchar \ ${c_base_srcdir}/cwchar \ ${c_base_srcdir}/cwctype +endif GLIBCXX_HOSTED # "C" compatibility headers. c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility @@ -890,10 +926,16 @@ endif # Debug mode headers debug_srcdir = ${glibcxx_srcdir}/include/debug debug_builddir = ./debug -debug_headers = \ +debug_freestanding = \ ${debug_srcdir}/assertions.h \ + ${debug_srcdir}/debug.h + +if !GLIBCXX_HOSTED +debug_headers = ${debug_freestanding} +else GLIBCXX_HOSTED +debug_headers = \ + ${debug_freestanding} \ ${debug_srcdir}/bitset \ - ${debug_srcdir}/debug.h \ ${debug_srcdir}/deque \ ${debug_srcdir}/formatter.h \ ${debug_srcdir}/forward_list \ @@ -923,6 +965,7 @@ debug_headers = \ ${debug_srcdir}/unordered_map \ ${debug_srcdir}/unordered_set \ ${debug_srcdir}/vector +endif GLIBCXX_HOSTED # Parallel mode headers parallel_srcdir = ${glibcxx_srcdir}/include/parallel @@ -1415,48 +1458,8 @@ ${pch3_output}: ${pch3_source} ${pch2_output} -mkdir -p ${pch3_output_builddir} $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@ -# For robustness sake (in light of junk files or in-source -# configuration), copy from the build or source tree to the install -# tree using only the human-maintained file lists and directory -# components. Yes, with minor differences, this is sheer duplication -# of the staging rules above using $(INSTALL_DATA) instead of LN_S and -# `$(mkinstalldirs)' instead of `mkdir -p'. In particular, -# host_headers_extra are taken out of the build tree staging area; -# the rest are taken from the original source tree. - -if GLIBCXX_HOSTED -install-data-local: install-headers -else -install-data-local: install-freestanding-headers -endif - -# This is a subset of the full install-headers rule. We only need , -# , , , , , , , -# , , , , , , -# , , , , , , -# and any files which they include (and which we provide). -# , , , and -# are installed by libsupc++, so only the others and the sub-includes -# are copied here. -install-freestanding-headers: - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/bits - for file in c++0x_warning.h atomic_base.h concept_check.h move.h; do \ - $(INSTALL_DATA) ${glibcxx_srcdir}/include/bits/$${file} $(DESTDIR)${gxx_include_dir}/bits; done - $(mkinstalldirs) $(DESTDIR)${host_installdir} - for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \ - ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \ - ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} - for file in limits type_traits atomic bit concepts coroutine \ - source_location version; do \ - $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} - for file in ciso646 cstddef cfloat climits cstdint cstdlib \ - cstdalign cstdarg cstdbool; do \ - $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done - # The real deal. +install-data-local: install-headers install-headers: $(mkinstalldirs) $(DESTDIR)${gxx_include_dir} $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir} @@ -1465,10 +1468,24 @@ install-headers: $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir} for file in ${backward_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} + for file in ${std_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir} + for file in ${debug_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir} + $(mkinstalldirs) $(DESTDIR)${host_installdir} + for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \ + ${thread_host_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} + for file in ${c_base_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir} for file in ${ext_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir} +if GLIBCXX_HOSTED for dir in ${pb_subdirs}; do \ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done for file in ${pb_headers1}; do \ @@ -1514,34 +1531,23 @@ install-headers: $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir} for file in ${experimental_bits_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} - for file in ${c_base_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done c_base_headers_extra_install='$(c_base_headers_extra)';\ for file in $$c_base_headers_extra_install; do \ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done c_compatibility_headers_install='$(c_compatibility_headers_extra)';\ for file in $$c_compatibility_headers_install; do \ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} - for file in ${std_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir} - for file in ${debug_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir} for file in ${parallel_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done - $(mkinstalldirs) $(DESTDIR)${host_installdir} - for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \ - ${thread_host_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext for file in ${ext_host_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pstl_builddir} for file in ${pstl_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${pstl_builddir}; done +endif GLIBCXX_HOSTED + # By adding these files here, automake will remove them for 'make clean' CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index f6ed98fefcd..26d2f6a6d85 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -380,233 +380,249 @@ WARN_CXXFLAGS = \ # -I/-D flags to pass when compiling. AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) +# Regarding *_freestanding: +# For including files in freestanding, create a new _freestanding variable, and +# split *_headers across an ``if GLIBCXX_HOSTED'', then update install-headers +# to account for the new directory/set being added. +# If such a variable exists, simply add to either *_headers or *_freestanding, +# as appropriate. + # Standard C++ includes. std_srcdir = ${glibcxx_srcdir}/include/std std_builddir = . -std_headers = \ +std_freestanding = \ ${std_srcdir}/algorithm \ - ${std_srcdir}/any \ ${std_srcdir}/array \ ${std_srcdir}/atomic \ - ${std_srcdir}/barrier \ ${std_srcdir}/bit \ - ${std_srcdir}/bitset \ - ${std_srcdir}/charconv \ - ${std_srcdir}/chrono \ - ${std_srcdir}/codecvt \ - ${std_srcdir}/complex \ ${std_srcdir}/concepts \ - ${std_srcdir}/condition_variable \ ${std_srcdir}/coroutine \ - ${std_srcdir}/deque \ - ${std_srcdir}/execution \ - ${std_srcdir}/expected \ - ${std_srcdir}/filesystem \ - ${std_srcdir}/forward_list \ - ${std_srcdir}/fstream \ ${std_srcdir}/functional \ - ${std_srcdir}/future \ - ${std_srcdir}/iomanip \ - ${std_srcdir}/ios \ - ${std_srcdir}/iosfwd \ - ${std_srcdir}/iostream \ - ${std_srcdir}/istream \ ${std_srcdir}/iterator \ - ${std_srcdir}/latch \ ${std_srcdir}/limits \ - ${std_srcdir}/list \ - ${std_srcdir}/locale \ - ${std_srcdir}/map \ ${std_srcdir}/memory \ - ${std_srcdir}/memory_resource \ - ${std_srcdir}/mutex \ ${std_srcdir}/numbers \ - ${std_srcdir}/numeric \ ${std_srcdir}/optional \ - ${std_srcdir}/ostream \ - ${std_srcdir}/queue \ - ${std_srcdir}/random \ ${std_srcdir}/ranges \ ${std_srcdir}/ratio \ - ${std_srcdir}/regex \ - ${std_srcdir}/scoped_allocator \ - ${std_srcdir}/semaphore \ - ${std_srcdir}/set \ - ${std_srcdir}/shared_mutex \ ${std_srcdir}/source_location \ ${std_srcdir}/span \ - ${std_srcdir}/spanstream \ - ${std_srcdir}/sstream \ - ${std_srcdir}/syncstream \ - ${std_srcdir}/stack \ - ${std_srcdir}/stacktrace \ - ${std_srcdir}/stdexcept \ - ${std_srcdir}/stop_token \ - ${std_srcdir}/streambuf \ - ${std_srcdir}/string \ - ${std_srcdir}/string_view \ - ${std_srcdir}/system_error \ - ${std_srcdir}/thread \ ${std_srcdir}/tuple \ - ${std_srcdir}/typeindex \ ${std_srcdir}/type_traits \ - ${std_srcdir}/unordered_map \ - ${std_srcdir}/unordered_set \ ${std_srcdir}/utility \ - ${std_srcdir}/valarray \ ${std_srcdir}/variant \ - ${std_srcdir}/vector \ ${std_srcdir}/version +@GLIBCXX_HOSTED_FALSE@std_headers = ${std_freestanding} +@GLIBCXX_HOSTED_TRUE@std_headers = \ +@GLIBCXX_HOSTED_TRUE@ ${std_freestanding} \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/any \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/barrier \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/bitset \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/charconv \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/chrono \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/codecvt \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/complex \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/condition_variable \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/deque \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/execution \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/expected \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/filesystem \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/forward_list \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/fstream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/future \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/iomanip \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/ios \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/iosfwd \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/iostream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/istream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/latch \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/list \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/locale \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/map \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/memory_resource \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/mutex \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/numeric \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/ostream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/queue \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/random \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/regex \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/scoped_allocator \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/semaphore \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/set \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/shared_mutex \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/spanstream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/sstream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/syncstream \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stack \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stacktrace \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stdexcept \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stop_token \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/streambuf \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/string \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/string_view \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/system_error \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/thread \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/typeindex \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/unordered_map \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/unordered_set \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/valarray \ +@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/vector + bits_srcdir = ${glibcxx_srcdir}/include/bits bits_builddir = ./bits -bits_headers = \ +bits_freestanding = \ ${bits_srcdir}/algorithmfwd.h \ ${bits_srcdir}/align.h \ - ${bits_srcdir}/alloc_traits.h \ - ${bits_srcdir}/allocated_ptr.h \ ${bits_srcdir}/allocator.h \ + ${bits_srcdir}/alloc_traits.h \ ${bits_srcdir}/atomic_base.h \ - ${bits_srcdir}/atomic_futex.h \ - ${bits_srcdir}/atomic_timed_wait.h \ - ${bits_srcdir}/atomic_wait.h \ - ${bits_srcdir}/basic_ios.h \ - ${bits_srcdir}/basic_ios.tcc \ - ${bits_srcdir}/basic_string.h \ - ${bits_srcdir}/basic_string.tcc \ - ${bits_srcdir}/boost_concept_check.h \ ${bits_srcdir}/c++0x_warning.h \ - ${bits_srcdir}/char_traits.h \ - ${bits_srcdir}/charconv.h \ - ${bits_srcdir}/chrono.h \ - ${bits_srcdir}/codecvt.h \ ${bits_srcdir}/concept_check.h \ - ${bits_srcdir}/cow_string.h \ ${bits_srcdir}/cpp_type_traits.h \ - ${bits_srcdir}/deque.tcc \ ${bits_srcdir}/enable_special_members.h \ - ${bits_srcdir}/erase_if.h \ - ${bits_srcdir}/forward_list.h \ - ${bits_srcdir}/forward_list.tcc \ - ${bits_srcdir}/fs_dir.h \ - ${bits_srcdir}/fs_fwd.h \ - ${bits_srcdir}/fs_ops.h \ - ${bits_srcdir}/fs_path.h \ - ${bits_srcdir}/fstream.tcc \ ${bits_srcdir}/functexcept.h \ ${bits_srcdir}/functional_hash.h \ - ${bits_srcdir}/gslice.h \ - ${bits_srcdir}/gslice_array.h \ - ${bits_srcdir}/hashtable.h \ - ${bits_srcdir}/hashtable_policy.h \ - ${bits_srcdir}/indirect_array.h \ ${bits_srcdir}/invoke.h \ - ${bits_srcdir}/ios_base.h \ - ${bits_srcdir}/istream.tcc \ ${bits_srcdir}/iterator_concepts.h \ - ${bits_srcdir}/list.tcc \ - ${bits_srcdir}/locale_classes.h \ - ${bits_srcdir}/locale_classes.tcc \ - ${bits_srcdir}/locale_conv.h \ - ${bits_srcdir}/locale_facets.h \ - ${bits_srcdir}/locale_facets.tcc \ - ${bits_srcdir}/locale_facets_nonio.h \ - ${bits_srcdir}/locale_facets_nonio.tcc \ - ${bits_srcdir}/localefwd.h \ - ${bits_srcdir}/mask_array.h \ ${bits_srcdir}/max_size_type.h \ - ${bits_srcdir}/memory_resource.h \ ${bits_srcdir}/memoryfwd.h \ - ${bits_srcdir}/mofunc_impl.h \ ${bits_srcdir}/move.h \ - ${bits_srcdir}/move_only_function.h \ - ${bits_srcdir}/new_allocator.h \ - ${bits_srcdir}/node_handle.h \ - ${bits_srcdir}/ostream.tcc \ - ${bits_srcdir}/ostream_insert.h \ - ${bits_srcdir}/parse_numbers.h \ - ${bits_srcdir}/postypes.h \ ${bits_srcdir}/predefined_ops.h \ + ${bits_srcdir}/parse_numbers.h \ ${bits_srcdir}/ptr_traits.h \ - ${bits_srcdir}/quoted_string.h \ - ${bits_srcdir}/random.h \ - ${bits_srcdir}/random.tcc \ ${bits_srcdir}/range_access.h \ - ${bits_srcdir}/ranges_algobase.h \ ${bits_srcdir}/ranges_algo.h \ + ${bits_srcdir}/ranges_algobase.h \ ${bits_srcdir}/ranges_base.h \ ${bits_srcdir}/ranges_cmp.h \ ${bits_srcdir}/ranges_uninitialized.h \ ${bits_srcdir}/ranges_util.h \ ${bits_srcdir}/refwrap.h \ - ${bits_srcdir}/regex.h \ - ${bits_srcdir}/regex.tcc \ - ${bits_srcdir}/regex_constants.h \ - ${bits_srcdir}/regex_error.h \ - ${bits_srcdir}/regex_scanner.h \ - ${bits_srcdir}/regex_scanner.tcc \ - ${bits_srcdir}/regex_automaton.h \ - ${bits_srcdir}/regex_automaton.tcc \ - ${bits_srcdir}/regex_compiler.h \ - ${bits_srcdir}/regex_compiler.tcc \ - ${bits_srcdir}/regex_executor.h \ - ${bits_srcdir}/regex_executor.tcc \ - ${bits_srcdir}/requires_hosted.h \ - ${bits_srcdir}/semaphore_base.h \ - ${bits_srcdir}/shared_ptr.h \ - ${bits_srcdir}/shared_ptr_atomic.h \ - ${bits_srcdir}/shared_ptr_base.h \ - ${bits_srcdir}/slice_array.h \ - ${bits_srcdir}/specfun.h \ - ${bits_srcdir}/sstream.tcc \ - ${bits_srcdir}/std_abs.h \ - ${bits_srcdir}/std_function.h \ - ${bits_srcdir}/std_mutex.h \ - ${bits_srcdir}/std_thread.h \ ${bits_srcdir}/stl_algo.h \ ${bits_srcdir}/stl_algobase.h \ - ${bits_srcdir}/stl_bvector.h \ ${bits_srcdir}/stl_construct.h \ - ${bits_srcdir}/stl_deque.h \ ${bits_srcdir}/stl_function.h \ - ${bits_srcdir}/stl_heap.h \ ${bits_srcdir}/stl_iterator.h \ ${bits_srcdir}/stl_iterator_base_funcs.h \ ${bits_srcdir}/stl_iterator_base_types.h \ - ${bits_srcdir}/stl_list.h \ - ${bits_srcdir}/stl_map.h \ - ${bits_srcdir}/stl_multimap.h \ - ${bits_srcdir}/stl_multiset.h \ - ${bits_srcdir}/stl_numeric.h \ + ${bits_srcdir}/stl_heap.h \ ${bits_srcdir}/stl_pair.h \ - ${bits_srcdir}/stl_queue.h \ ${bits_srcdir}/stl_raw_storage_iter.h \ ${bits_srcdir}/stl_relops.h \ - ${bits_srcdir}/stl_set.h \ - ${bits_srcdir}/stl_stack.h \ - ${bits_srcdir}/stl_tempbuf.h \ - ${bits_srcdir}/stl_tree.h \ ${bits_srcdir}/stl_uninitialized.h \ - ${bits_srcdir}/stl_vector.h \ - ${bits_srcdir}/stream_iterator.h \ - ${bits_srcdir}/streambuf_iterator.h \ - ${bits_srcdir}/streambuf.tcc \ - ${bits_srcdir}/stringfwd.h \ - ${bits_srcdir}/string_view.tcc \ - ${bits_srcdir}/this_thread_sleep.h \ ${bits_srcdir}/uniform_int_dist.h \ - ${bits_srcdir}/unique_lock.h \ ${bits_srcdir}/unique_ptr.h \ - ${bits_srcdir}/unordered_map.h \ - ${bits_srcdir}/unordered_set.h \ ${bits_srcdir}/uses_allocator.h \ ${bits_srcdir}/uses_allocator_args.h \ - ${bits_srcdir}/utility.h \ - ${bits_srcdir}/valarray_array.h \ - ${bits_srcdir}/valarray_array.tcc \ - ${bits_srcdir}/valarray_before.h \ - ${bits_srcdir}/valarray_after.h \ - ${bits_srcdir}/vector.tcc + ${bits_srcdir}/utility.h + +@GLIBCXX_HOSTED_FALSE@bits_headers = ${bits_freestanding} +@GLIBCXX_HOSTED_TRUE@bits_headers = \ +@GLIBCXX_HOSTED_TRUE@ ${bits_freestanding} \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/allocated_ptr.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/atomic_futex.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/atomic_timed_wait.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/atomic_wait.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_ios.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_ios.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_string.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_string.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/boost_concept_check.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/char_traits.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/charconv.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/chrono.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/codecvt.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/cow_string.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/deque.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/erase_if.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/forward_list.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/forward_list.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_dir.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_fwd.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_ops.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_path.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fstream.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/gslice.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/gslice_array.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/hashtable.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/hashtable_policy.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/indirect_array.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/ios_base.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/istream.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/list.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_classes.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_classes.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_conv.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets_nonio.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets_nonio.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/localefwd.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/mask_array.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/memory_resource.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/mofunc_impl.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/move_only_function.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/new_allocator.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/node_handle.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/ostream.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/ostream_insert.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/postypes.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/quoted_string.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/random.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/random.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_constants.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_error.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_scanner.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_scanner.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_automaton.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_automaton.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_compiler.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_compiler.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_executor.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_executor.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/requires_hosted.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/semaphore_base.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/shared_ptr.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/shared_ptr_atomic.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/shared_ptr_base.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/slice_array.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/specfun.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/sstream.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_abs.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_function.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_mutex.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_thread.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_bvector.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_deque.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_list.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_map.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_multimap.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_multiset.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_numeric.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_queue.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_relops.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_set.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_stack.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_tempbuf.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_tree.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_vector.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stream_iterator.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/streambuf_iterator.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/streambuf.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stringfwd.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/string_view.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/this_thread_sleep.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/unique_lock.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/unordered_map.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/unordered_set.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_array.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_array.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_before.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_after.h \ +@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/vector.tcc bits_host_headers = \ ${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM} @@ -652,15 +668,19 @@ pstl_headers = \ backward_srcdir = ${glibcxx_srcdir}/include/backward backward_builddir = ./backward -backward_headers = \ +backward_freestanding = \ ${backward_srcdir}/auto_ptr.h \ - ${backward_srcdir}/backward_warning.h \ - ${backward_srcdir}/binders.h \ - ${backward_srcdir}/hash_map \ - ${backward_srcdir}/hash_set \ - ${backward_srcdir}/hash_fun.h \ - ${backward_srcdir}/hashtable.h \ - ${backward_srcdir}/strstream + ${backward_srcdir}/binders.h + +@GLIBCXX_HOSTED_FALSE@backward_headers = ${backward_freestanding} +@GLIBCXX_HOSTED_TRUE@backward_headers = \ +@GLIBCXX_HOSTED_TRUE@ ${backward_freestanding} \ +@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/backward_warning.h \ +@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hash_map \ +@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hash_set \ +@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hash_fun.h \ +@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hashtable.h \ +@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/strstream pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds pb_builddir = ./ext/pb_ds @@ -967,8 +987,6 @@ ext_headers = \ ${ext_srcdir}/debug_allocator.h \ ${ext_srcdir}/enc_filebuf.h \ ${ext_srcdir}/extptr_allocator.h \ - ${ext_srcdir}/stdio_filebuf.h \ - ${ext_srcdir}/stdio_sync_filebuf.h \ ${ext_srcdir}/functional \ ${ext_srcdir}/iterator \ ${ext_srcdir}/malloc_allocator.h \ @@ -980,21 +998,23 @@ ext_headers = \ ${ext_srcdir}/pod_char_traits.h \ ${ext_srcdir}/pointer.h \ ${ext_srcdir}/pool_allocator.h \ - ${ext_srcdir}/rb_tree \ ${ext_srcdir}/random \ ${ext_srcdir}/random.tcc \ + ${ext_srcdir}/rb_tree \ + ${ext_srcdir}/rc_string_base.h \ ${ext_srcdir}/rope \ ${ext_srcdir}/ropeimpl.h \ ${ext_srcdir}/slist \ + ${ext_srcdir}/sso_string_base.h \ + ${ext_srcdir}/stdio_filebuf.h \ + ${ext_srcdir}/stdio_sync_filebuf.h \ ${ext_srcdir}/string_conversions.h \ ${ext_srcdir}/throw_allocator.h \ ${ext_srcdir}/typelist.h \ ${ext_srcdir}/type_traits.h \ - ${ext_srcdir}/rc_string_base.h \ - ${ext_srcdir}/sso_string_base.h \ + ${ext_srcdir}/vstring_fwd.h \ ${ext_srcdir}/vstring.h \ ${ext_srcdir}/vstring.tcc \ - ${ext_srcdir}/vstring_fwd.h \ ${ext_srcdir}/vstring_util.h \ ${ext_compat_headers} @@ -1169,33 +1189,37 @@ experimental_bits_headers = \ # This is the common subset of C++ files that all three "C" header models use. c_base_srcdir = $(C_INCLUDE_DIR) c_base_builddir = . -c_base_headers = \ - ${c_base_srcdir}/cassert \ - ${c_base_srcdir}/ccomplex \ - ${c_base_srcdir}/cctype \ - ${c_base_srcdir}/cerrno \ - ${c_base_srcdir}/cfenv \ +c_base_freestanding = \ ${c_base_srcdir}/cfloat \ - ${c_base_srcdir}/cinttypes \ - ${c_base_srcdir}/ciso646 \ ${c_base_srcdir}/climits \ - ${c_base_srcdir}/clocale \ - ${c_base_srcdir}/cmath \ - ${c_base_srcdir}/csetjmp \ - ${c_base_srcdir}/csignal \ - ${c_base_srcdir}/cstdalign \ - ${c_base_srcdir}/cstdarg \ - ${c_base_srcdir}/cstdbool \ ${c_base_srcdir}/cstddef \ ${c_base_srcdir}/cstdint \ - ${c_base_srcdir}/cstdio \ - ${c_base_srcdir}/cstdlib \ - ${c_base_srcdir}/cstring \ - ${c_base_srcdir}/ctgmath \ - ${c_base_srcdir}/ctime \ - ${c_base_srcdir}/cuchar \ - ${c_base_srcdir}/cwchar \ - ${c_base_srcdir}/cwctype + ${c_base_srcdir}/cstdlib + +@GLIBCXX_HOSTED_FALSE@c_base_headers = ${c_base_freestanding} +@GLIBCXX_HOSTED_TRUE@c_base_headers = \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_freestanding} \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cassert \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ccomplex \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cctype \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cerrno \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cfenv \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cinttypes \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ciso646 \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/clocale \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cmath \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/csetjmp \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/csignal \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstdalign \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstdarg \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstdbool \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstdio \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstring \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ctgmath \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ctime \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cuchar \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cwchar \ +@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cwctype # "C" compatibility headers. @@ -1241,39 +1265,43 @@ c_compatibility_builddir = . # Debug mode headers debug_srcdir = ${glibcxx_srcdir}/include/debug debug_builddir = ./debug -debug_headers = \ +debug_freestanding = \ ${debug_srcdir}/assertions.h \ - ${debug_srcdir}/bitset \ - ${debug_srcdir}/debug.h \ - ${debug_srcdir}/deque \ - ${debug_srcdir}/formatter.h \ - ${debug_srcdir}/forward_list \ - ${debug_srcdir}/functions.h \ - ${debug_srcdir}/helper_functions.h \ - ${debug_srcdir}/list \ - ${debug_srcdir}/map \ - ${debug_srcdir}/macros.h \ - ${debug_srcdir}/map.h \ - ${debug_srcdir}/multimap.h \ - ${debug_srcdir}/multiset.h \ - ${debug_srcdir}/safe_base.h \ - ${debug_srcdir}/safe_container.h \ - ${debug_srcdir}/safe_iterator.h \ - ${debug_srcdir}/safe_iterator.tcc \ - ${debug_srcdir}/safe_local_iterator.h \ - ${debug_srcdir}/safe_local_iterator.tcc \ - ${debug_srcdir}/safe_sequence.h \ - ${debug_srcdir}/safe_sequence.tcc \ - ${debug_srcdir}/safe_unordered_base.h \ - ${debug_srcdir}/safe_unordered_container.h \ - ${debug_srcdir}/safe_unordered_container.tcc \ - ${debug_srcdir}/set \ - ${debug_srcdir}/set.h \ - ${debug_srcdir}/stl_iterator.h \ - ${debug_srcdir}/string \ - ${debug_srcdir}/unordered_map \ - ${debug_srcdir}/unordered_set \ - ${debug_srcdir}/vector + ${debug_srcdir}/debug.h + +@GLIBCXX_HOSTED_FALSE@debug_headers = ${debug_freestanding} +@GLIBCXX_HOSTED_TRUE@debug_headers = \ +@GLIBCXX_HOSTED_TRUE@ ${debug_freestanding} \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/bitset \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/deque \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/formatter.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/forward_list \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/functions.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/helper_functions.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/list \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/map \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/macros.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/map.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/multimap.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/multiset.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_base.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_container.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_iterator.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_iterator.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_local_iterator.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_local_iterator.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_sequence.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_sequence.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_unordered_base.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_unordered_container.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_unordered_container.tcc \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/set \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/set.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/stl_iterator.h \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/string \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/unordered_map \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/unordered_set \ +@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/vector # Parallel mode headers @@ -1416,6 +1444,7 @@ allcreated = \ # Host includes for threads uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] + # By adding these files here, automake will remove them for 'make clean' CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host all: all-am @@ -1906,45 +1935,8 @@ ${pch3_output}: ${pch3_source} ${pch2_output} -mkdir -p ${pch3_output_builddir} $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@ -# For robustness sake (in light of junk files or in-source -# configuration), copy from the build or source tree to the install -# tree using only the human-maintained file lists and directory -# components. Yes, with minor differences, this is sheer duplication -# of the staging rules above using $(INSTALL_DATA) instead of LN_S and -# `$(mkinstalldirs)' instead of `mkdir -p'. In particular, -# host_headers_extra are taken out of the build tree staging area; -# the rest are taken from the original source tree. - -@GLIBCXX_HOSTED_TRUE@install-data-local: install-headers -@GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers - -# This is a subset of the full install-headers rule. We only need , -# , , , , , , , -# , , , , , , -# , , , , , , -# and any files which they include (and which we provide). -# , , , and -# are installed by libsupc++, so only the others and the sub-includes -# are copied here. -install-freestanding-headers: - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/bits - for file in c++0x_warning.h atomic_base.h concept_check.h move.h; do \ - $(INSTALL_DATA) ${glibcxx_srcdir}/include/bits/$${file} $(DESTDIR)${gxx_include_dir}/bits; done - $(mkinstalldirs) $(DESTDIR)${host_installdir} - for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \ - ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \ - ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} - for file in limits type_traits atomic bit concepts coroutine \ - source_location version; do \ - $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} - for file in ciso646 cstddef cfloat climits cstdint cstdlib \ - cstdalign cstdarg cstdbool; do \ - $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done - # The real deal. +install-data-local: install-headers install-headers: $(mkinstalldirs) $(DESTDIR)${gxx_include_dir} $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir} @@ -1956,80 +1948,80 @@ install-headers: $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir} for file in ${ext_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir} - for dir in ${pb_subdirs}; do \ - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done - for file in ${pb_headers1}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers2}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers3}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers4}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers5}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers6}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers7}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir} - for file in ${tr1_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr2_builddir} - for file in ${tr2_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr2_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${decimal_builddir} - for file in ${decimal_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${decimal_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_builddir} - for file in ${experimental_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir} - for file in ${experimental_bits_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} - for file in ${c_base_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done - c_base_headers_extra_install='$(c_base_headers_extra)';\ - for file in $$c_base_headers_extra_install; do \ - $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done - c_compatibility_headers_install='$(c_compatibility_headers_extra)';\ - for file in $$c_compatibility_headers_install; do \ - $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} for file in ${std_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir} for file in ${debug_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir} - for file in ${parallel_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir} $(mkinstalldirs) $(DESTDIR)${host_installdir} for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \ ${thread_host_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done - $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext - for file in ${ext_host_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pstl_builddir} - for file in ${pstl_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${pstl_builddir}; done + $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} + for file in ${c_base_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done +@GLIBCXX_HOSTED_TRUE@ for dir in ${pb_subdirs}; do \ +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers1}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers2}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers3}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers4}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers5}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers6}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers7}; do \ +@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ +@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${tr1_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr2_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${tr2_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr2_builddir}; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${decimal_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${decimal_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${decimal_builddir}; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${experimental_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_builddir}; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${experimental_bits_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}; done +@GLIBCXX_HOSTED_TRUE@ c_base_headers_extra_install='$(c_base_headers_extra)';\ +@GLIBCXX_HOSTED_TRUE@ for file in $$c_base_headers_extra_install; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done +@GLIBCXX_HOSTED_TRUE@ c_compatibility_headers_install='$(c_compatibility_headers_extra)';\ +@GLIBCXX_HOSTED_TRUE@ for file in $$c_compatibility_headers_install; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${parallel_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext +@GLIBCXX_HOSTED_TRUE@ for file in ${ext_host_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done +@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pstl_builddir} +@GLIBCXX_HOSTED_TRUE@ for file in ${pstl_headers}; do \ +@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${pstl_builddir}; done # To remove directories. clean-local: From patchwork Fri Sep 30 16:45:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1609 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp583001wrs; Fri, 30 Sep 2022 09:57:59 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4Y5DS6P1gWPC7TftVDYuAtEEh3llY5QKHPJhVMuSXW5uzB0qqNEduzC2q81zQxuAvPoh2S X-Received: by 2002:a17:907:a051:b0:77a:e136:6ad2 with SMTP id gz17-20020a170907a05100b0077ae1366ad2mr7052609ejc.764.1664557079704; Fri, 30 Sep 2022 09:57:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664557079; cv=none; d=google.com; s=arc-20160816; b=MsXSfGMYvc8Ptx5l8BQ9b/hpCpXXTpgJw8oU3gXkxBWxtIXo3QukckBnPDOVV0mawg kES7qXmxGio8zih6K3dyMJFB2sryw2wtUsiRdBTrCw70SAaJrnkjYIXPCedERV04+ClY d7cn9w5nsGGbwb97fGn/QYRe+08bxUgOorX6+yl0KVzFKW9IQ4FXmOhVt35l6PuxfEGa tGkcEPmdRHOm+6ZuO9BD2fyKBjNBrpB83DsOk9D+LXvT2schkFmWhtPUuCjfb3Om/Q3z ofExR4ZBM7H37en2x1EqvhNd43uxm5903WEnwbWPguJQwTgfpxtFgkAn1+if6aPGTp71 koLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=drRLhkuEzwZmjesLQ7CrWGabQAx4ZtHwLo0tifPonUQ=; b=x6b/WLaeqaBlTKdGdlJbTwklMFcrUJjGl9IhX0Z2bhLqr1pIWQQ29JL0fz+1vEL4nv xfW6Nssc/0NUiyM+dmeJTBkeKnQxAvcr1KkruDgjPML8pEXB9CBHuJzA09/ChhcpZf5p 4U1ospbfKhrKyc1ndWV6n73wrEuM1w95mXnVrh958KljL9tCk8N2jQmILS5HchL/q8B8 lWnavycI+O0dpjw6v+OsWfliG3yeqHuJvaNLYhHfqjdmyFl9yfc7lKYhXEWRQFMgq/jg NYWoJw8aomqD1JKKV6HBXDmKfJjApxUCaAU3g3isShhW/M7yCs0uhInWcVHb5Em4iDpz 2akQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="e0/vZ0ra"; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id rv1-20020a17090710c100b00783112d1790si1902846ejb.255.2022.09.30.09.57.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:57:59 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="e0/vZ0ra"; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7F9783895FE1 for ; Fri, 30 Sep 2022 16:51:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F9783895FE1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556677; bh=drRLhkuEzwZmjesLQ7CrWGabQAx4ZtHwLo0tifPonUQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=e0/vZ0ra1EKSMYy8kGVUDMAanhOLIzaNnvdj04ZoJJExJUyEjhLXpyutb9d9NfrU5 N6ugaJkj82iSdg4JxQWElsTDP0Js7RVoERPAbR4uhJ2XQv7Y6R3bvYgL3o5Bcfuqjp r6u/EybCKeEVN+fDkbTwe1LATrB3C1p6Uydg7Gt4= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by sourceware.org (Postfix) with ESMTPS id A8E62385E02B; Fri, 30 Sep 2022 16:46:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A8E62385E02B Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4MfGMq4kmLz9sW3; Fri, 30 Sep 2022 18:46:31 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 07/10] libstdc++: Make some tests work on freestanding [PR103626] Date: Fri, 30 Sep 2022 18:45:53 +0200 Message-Id: <20220930164556.1198044-8-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, URI_HEX autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: Jonathan Wakely , libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414604267224468?= X-GMAIL-MSGID: =?utf-8?q?1745414604267224468?= PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding Co-authored-by: Jonathan Wakely libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]: Do not include C headers that aren't valid for freestanding. * testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]: Do not test tag types that aren't defined for freestanding. * testsuite/18_support/headers/cstdlib/functions_std.cc: Do not check for std::getenv and std::system for freestanding. * testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]: Do not test hosted parts of the standard library. * testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]: Likewise. * testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise. * testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise. * testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise. Signed-off-by: Arsen Arsenović --- .../17_intro/headers/c++1998/stdc++.cc | 2 + .../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 ++++++++++--------- .../headers/cstdlib/functions_std.cc | 2 + .../allocator_traits/members/rebind_alloc.cc | 2 + .../requirements/explicit_instantiation.cc | 2 + .../20_util/headers/bitset/synopsis.cc | 2 + .../requirements/typedefs_neg.cc | 4 +- .../pointer_traits/requirements/typedefs.cc | 2 + .../testsuite/20_util/tuple/cons/deduction.cc | 2 + .../testsuite/25_algorithms/move/93872.cc | 1 + .../testsuite/std/ranges/adaptors/100577.cc | 11 +++- 13 files changed, 104 insertions(+), 64 deletions(-) diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc index 4776c18e1ed..e362dfee329 100644 --- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc @@ -24,6 +24,7 @@ #include +#if __STDC_HOSTED__ // "C" compatibility headers #include #include @@ -47,3 +48,4 @@ #ifdef _GLIBCXX_HAVE_WCTYPE_H #include #endif +#endif diff --git a/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc b/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc index 262fc9a04d1..410142d3974 100644 --- a/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc +++ b/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc @@ -20,40 +20,50 @@ #include #include #include -#include + +#if __STDC_HOSTED__ +# include +#endif void f1(std::nothrow_t); void f2(std::piecewise_construct_t); void f3(std::allocator_arg_t); +#if __STDC_HOSTED__ void f4(std::defer_lock_t); void f5(std::try_to_lock_t); void f6(std::adopt_lock_t); - +#endif int main() { std::nothrow_t v1; std::piecewise_construct_t v2; std::allocator_arg_t v3; +#if __STDC_HOSTED__ std::defer_lock_t v4; std::try_to_lock_t v5; std::try_to_lock_t v6; +#endif std::nothrow_t v7 = {}; // { dg-error "explicit" } std::piecewise_construct_t v8 = {}; // { dg-error "explicit" } std::allocator_arg_t v9 = {}; // { dg-error "explicit" } - std::defer_lock_t v10 = {}; // { dg-error "explicit" } - std::try_to_lock_t v11 = {}; // { dg-error "explicit" } - std::try_to_lock_t v12 = {}; // { dg-error "explicit" } +#if __STDC_HOSTED__ + std::defer_lock_t v10 = {}; // { dg-error "explicit" "" { target hosted } } + std::try_to_lock_t v11 = {}; // { dg-error "explicit" "" { target hosted } } + std::try_to_lock_t v12 = {}; // { dg-error "explicit" "" { target hosted } } +#endif f1(std::nothrow_t{}); f2(std::piecewise_construct_t{}); f3(std::allocator_arg_t{}); - f4(std::defer_lock_t{}); - f5(std::try_to_lock_t{}); - f6(std::adopt_lock_t{}); f1({}); // { dg-error "explicit" } f2({}); // { dg-error "explicit" } f3({}); // { dg-error "explicit" } - f4({}); // { dg-error "explicit" } - f5({}); // { dg-error "explicit" } - f6({}); // { dg-error "explicit" } +#if __STDC_HOSTED__ + f4(std::defer_lock_t{}); + f5(std::try_to_lock_t{}); + f6(std::adopt_lock_t{}); + f4({}); // { dg-error "explicit" "" { target hosted } } + f5({}); // { dg-error "explicit" "" { target hosted } } + f6({}); // { dg-error "explicit" "" { target hosted } } +#endif } diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc index cdec24e9f7f..9fadafdbccf 100644 --- a/libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc +++ b/libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc @@ -20,42 +20,45 @@ #include #include #include -#include -#include #include -#include #include -#include -#include -#include -#include -#include #include #include -#include -#include -#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include #include -#include -#include + +#if __STDC_HOSTED__ +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif namespace gnu { diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc index 31c2589da4f..4d08cc5bc91 100644 --- a/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc +++ b/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc @@ -23,42 +23,45 @@ #include #include #include -#include -#include #include -#include #include -#include -#include -#include -#include -#include #include #include -#include -#include -#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include #include -#include -#include + +#if __STDC_HOSTED__ +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif namespace gnu { diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc index e7738899ea0..af1ed6a8652 100644 --- a/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc +++ b/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc @@ -25,6 +25,8 @@ namespace gnu using std::atexit; using std::exit; +#if __STDC_HOSTED__ using std::getenv; using std::system; +#endif } diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/rebind_alloc.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/rebind_alloc.cc index 32caf53c988..ca2a8044665 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/rebind_alloc.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/rebind_alloc.cc @@ -24,6 +24,7 @@ using std::is_same; template using Rebind = typename std::allocator_traits::template rebind_alloc; +#if __STDC_HOSTED__ template struct HasRebind { using value_type = T; @@ -33,6 +34,7 @@ template static_assert(is_same, long>, std::allocator>::value, "nested alias template is used"); +#endif template struct NoRebind0 { diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc index 42a2091cf47..8f7c191e94a 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc @@ -36,6 +36,8 @@ template namespace std { +#if __STDC_HOSTED__ template struct allocator_traits>; +#endif template struct allocator_traits>; } diff --git a/libstdc++-v3/testsuite/20_util/headers/bitset/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/bitset/synopsis.cc index ed5604b6b22..094f0f268b3 100644 --- a/libstdc++-v3/testsuite/20_util/headers/bitset/synopsis.cc +++ b/libstdc++-v3/testsuite/20_util/headers/bitset/synopsis.cc @@ -49,6 +49,7 @@ namespace std { CONSTEXPR bitset operator^(const bitset&, const bitset&) NOTHROW; +#if __STDC_HOSTED__ template basic_istream& operator>>(basic_istream& is, bitset& x); @@ -56,4 +57,5 @@ namespace std { template basic_ostream& operator<<(basic_ostream& os, const bitset& x); +#endif } diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc index 9eebbc400b0..ff98cc42ef7 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc @@ -20,9 +20,9 @@ // . #include -#include enum test_enum { first_selection }; +struct pod_class { }; void test01() { @@ -31,7 +31,7 @@ void test01() // Negative tests. typedef make_unsigned::type test1_type; - typedef make_unsigned<__gnu_test::pod_uint>::type test2_type; + typedef make_unsigned::type test2_type; typedef make_unsigned::type test3_type; diff --git a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc index 93c8a369c25..a88372c4d3a 100644 --- a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc @@ -37,8 +37,10 @@ int main() { test01(); test01(); +#if __STDC_HOSTED__ test01>(); test01>(); +#endif test01>(); test01>(); } diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc index 8b9393dd334..c4b5a5c1eaf 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/deduction.cc @@ -145,6 +145,7 @@ test04() void test05() { +#if __STDC_HOSTED__ std::allocator a; std::tuple x{std::allocator_arg, a, 1}; check_type>(x); @@ -161,4 +162,5 @@ test05() check_type(x5); std::tuple x6{std::allocator_arg, a, std::move(x)}; check_type(x6); +#endif } diff --git a/libstdc++-v3/testsuite/25_algorithms/move/93872.cc b/libstdc++-v3/testsuite/25_algorithms/move/93872.cc index 4b0c8105171..8496a221063 100644 --- a/libstdc++-v3/testsuite/25_algorithms/move/93872.cc +++ b/libstdc++-v3/testsuite/25_algorithms/move/93872.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +#include #include #include diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/100577.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/100577.cc index 97401dae39c..c900553743b 100644 --- a/libstdc++-v3/testsuite/std/ranges/adaptors/100577.cc +++ b/libstdc++-v3/testsuite/std/ranges/adaptors/100577.cc @@ -22,6 +22,9 @@ #include #include +#if __STDC_HOSTED__ +#include +#endif namespace ranges = std::ranges; namespace views = std::ranges::views; @@ -38,9 +41,11 @@ test01() static_assert(__adaptor_has_simple_extra_args); static_assert(__adaptor_has_simple_extra_args); static_assert(__adaptor_has_simple_extra_args); - static_assert(__adaptor_has_simple_extra_args); static_assert(__adaptor_has_simple_extra_args); +#if __STDC_HOSTED__ + static_assert(__adaptor_has_simple_extra_args); static_assert(!__adaptor_has_simple_extra_args); +#endif using views::__adaptor::__closure_has_simple_call_op; __closure_has_simple_call_op auto a00 = views::all; @@ -60,6 +65,7 @@ test01() __closure_has_simple_call_op auto b = (a00 | a01) | (a02 | a03) | (a04 | a05 | a06) | (a07 | a08 | a09 | a10) | a11; +#if __STDC_HOSTED__ // Verify views::lazy_split(non_view_range) is an exception. extern std::string s; auto a12 = views::lazy_split(s); @@ -72,6 +78,7 @@ test01() static_assert(!__closure_has_simple_call_op); static_assert(!__closure_has_simple_call_op); static_assert(!__closure_has_simple_call_op); +#endif } void @@ -129,6 +136,7 @@ test03() void test04() { +#if __STDC_HOSTED__ // Non-trivially-copyable extra arguments make a closure not simple. using F = std::function; static_assert(!std::is_trivially_copyable_v); @@ -137,6 +145,7 @@ test04() static_assert(!__closure_has_simple_call_op()))>); static_assert(!__closure_has_simple_call_op()))>); static_assert(!__closure_has_simple_call_op()))>); +#endif } // { dg-prune-output "in requirements" } From patchwork Fri Sep 30 16:45:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1605 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp581798wrs; Fri, 30 Sep 2022 09:54:45 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5isO1pJ/W8p1CUjaVb2zGhrXKv3Z6olw2wQbFcsL1QiiouY5h7ZHiL9b109VBzo6jPHX1h X-Received: by 2002:a05:6402:ca6:b0:458:60af:6875 with SMTP id cn6-20020a0564020ca600b0045860af6875mr5027601edb.295.1664556885129; Fri, 30 Sep 2022 09:54:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664556885; cv=none; d=google.com; s=arc-20160816; b=Rfaim3lHrpA71d8zTm5z2Wjz6Aob1PAo39wgQu5vfzw+fl598ye4Lot/pY8ix0SNTM pnwR0dQleIFTzNCmtcJx7cVT8ju23IWw0qu/d8yRBrk/GQOPPIXutFTUyaZL7Du2fd/1 bRatuyhUkhpjxH3sgtkzhqMSPvnSuEEen5iBdUAtRjjmjwWfgNTdwUrfIdUK8xW+A/tL pjBYnka17e/v9JqWSwRl1zcQQfYNIkYmVA5+Rx4SSrw3nPD3IOnbMKOfbGdLI6tJEK6K lUTl2A9saw0RUQp3RqGIEXLbNkL9hu/mm63O/zxl8ATQugi5yRP1SgFSCWuEtUaNuuB4 tDmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=pi8wgkfGId4UPPNVk7AiXAu4RxY/FHpuiFN/UB12n4A=; b=E2Qn5SNcCPcl+iqTnzDFbMKJ/3WzSbe1VDEClO38xOv1aiFWx7SVDRyhJ9PUudUM0j f4mpfiORZe14uP2k/FHnkkiTCGK+8i22L1BD+CF5T9f2vnotMtULrusBg/0Q1RfJ7+Yn w/zRfhgIK90LWiVxTrnEqMdjZPEwFM6KLJ3qe93O7N0qNSZbF4cgqoG/YJ9S/1ILgG76 U6PHjkGAyNHHz5i3TEPqQ8jGQpiXulcxN0F8szdw9AYfGHSdOoOoOavFbdwGVVkZYtQg 4w94jWPF0/S1E7SKqspjWT7Do+Y8J8bDS0z51BzSGlwjpi/NprrdM8izcdmeT2jkeolQ JKNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=yMXxfI6l; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id p15-20020a1709060e8f00b00779e6c93108si1863134ejf.598.2022.09.30.09.54.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:54:45 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=yMXxfI6l; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D93113851141 for ; Fri, 30 Sep 2022 16:49:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D93113851141 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556576; bh=pi8wgkfGId4UPPNVk7AiXAu4RxY/FHpuiFN/UB12n4A=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=yMXxfI6l280Dywwq1dzBiNFY4HHBycznXXdJpuwVvo2DDAQW/Dytc7k1zE0p9D1eo bJo6ACYi+TAeiNwH64Bca/nH3R7QR3qZ/5s4H3QWGOF0j+KyNV+cnfJeXeUlHkCtsf +dfKILU86mK+39GFUYx6Y64LoE8LZWA0Wg1Dx6z0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by sourceware.org (Postfix) with ESMTPS id 3EA313851C1F; Fri, 30 Sep 2022 16:46:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3EA313851C1F Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4MfGMt4hy2z9sWC; Fri, 30 Sep 2022 18:46:34 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 08/10] libstdc++: Add effective-target 'hosted' for testsuite [PR103626] Date: Fri, 30 Sep 2022 18:45:54 +0200 Message-Id: <20220930164556.1198044-9-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: Jonathan Wakely , libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414400268654626?= X-GMAIL-MSGID: =?utf-8?q?1745414400268654626?= From: Jonathan Wakely PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): Also require hosted. (check_effective_target_hosted): New proc. Signed-off-by: Arsen Arsenović --- libstdc++-v3/testsuite/lib/libstdc++.exp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index d3256b6c8c4..635f16db4e8 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -1376,7 +1376,7 @@ proc check_effective_target_std_allocator_new { } { # Return 1 if libstdc++ was built as --enable-libstdcxx-backtrace proc check_effective_target_stacktrace { } { return [check_v3_target_prop_cached et_stacktrace { - set cond "_GLIBCXX_HAVE_STACKTRACE" + set cond "_GLIBCXX_HAVE_STACKTRACE && _GLIBCXX_HOSTED" return [v3_check_preprocessor_condition stacktrace $cond] }] } @@ -1389,6 +1389,14 @@ proc check_effective_target_rtti { } { }] } +# Return 1 if a hosted implementation is available (i.e. not freestanding). +proc check_effective_target_hosted { } { + return [check_v3_target_prop_cached et_hosted { + set cond "_GLIBCXX_HOSTED" + return [v3_check_preprocessor_condition hosted $cond] + }] +} + set additional_prunes "" if { [info exists env(GCC_RUNTEST_PARALLELIZE_DIR)] \ From patchwork Fri Sep 30 16:45:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1607 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp582551wrs; Fri, 30 Sep 2022 09:56:46 -0700 (PDT) X-Google-Smtp-Source: AMsMyM448IMeiJNdYQY42o9luUtJdtzvRlK7KfEJhV9epiNcsxAyLr9bw8ybkd6IaMQ9Wu1Nxyc0 X-Received: by 2002:aa7:db58:0:b0:457:30ce:bcaa with SMTP id n24-20020aa7db58000000b0045730cebcaamr8799602edt.20.1664557006810; Fri, 30 Sep 2022 09:56:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664557006; cv=none; d=google.com; s=arc-20160816; b=Upv49aAlq7gv/wFeK3VNGC86fzmWGdVptitanJuITvi7uNIsvFANmt2qq2koHlOQN+ i2wkv03fMMQECdiOos4QcZPN8390kGD6aXDHr+zcniv4ueDzAjTXfRk9LQaC6Lu62oGX mChO1bvp4wNGL6x3GUVrGOKusFndgf5qqwG+Jo7Iw9U5D38/+/XRxvUvCgJtL9oVKUMc aKirTwHGlFtvtf0JleZJg1GpHN0BEWQR10ovQe0Nad6AT/DNgZt07E9d3WDksWNlKm1q sO16U+KMnqzWV7q5eJHnDnkn7yX3mU7d5ccEb81Upmz5CmCfxPq40rhx+IBPlv14tm35 4+Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=RF3LMpg/pEFxUGBxAJhVbTmqvWQTVPtSkfC6gThW9uQ=; b=R+ucH6z0FAmwZ+fRkABCFSsaaNQW26EevXb3gpjW123YkUg1jnllaqgRFseGlOW5os ivitwBgVKZjmUp6a7Mno9QaNdorVN8Nf8w2D39De5bduBmdQrpA86pE1dvsdmyd+O51o ic5QZ49SC1YbYxOWXDLP3RM8sNvGwqtvbFD0m4WECTmrcZTQ8WFqu/kVifL7GRlGM/bT hszkapofnbeFxaTROUjspGAdzYx7WQqiE2BCBwWTr9tkO9Fl4rfpP9dxR5jqpISZ5mgD C8Vujw1/BtwWonzjE0Ms2SlzgkAoH7eyBzAEV2uz3ClYz9ZIF0n3EG8VeMaABMFUJY90 Siew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=PzGxR62e; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ji3-20020a170907980300b007771bc8dbb4si2297384ejc.781.2022.09.30.09.56.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:56:46 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=PzGxR62e; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1A5113851C1F for ; Fri, 30 Sep 2022 16:50:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1A5113851C1F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556634; bh=RF3LMpg/pEFxUGBxAJhVbTmqvWQTVPtSkfC6gThW9uQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=PzGxR62eXP6urW4uwmAJPluLeyns9h34NGsJ+RPpPEoJF4e39D0topW8wZPLItS7U oSY+DmsarSdin3Ub7sEFXK+5kzMR5wgwlZibGV1QCRvn3BjZ/QZD160ryhyJ3XX+HT l6LGmOQ28MC4er0lS+Ks9Q/bmM8BIMSKh0/cjUtM= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-201.mailbox.org (mout-p-201.mailbox.org [IPv6:2001:67c:2050:0:465::201]) by sourceware.org (Postfix) with ESMTPS id C45D3385C421; Fri, 30 Sep 2022 16:46:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C45D3385C421 Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4MfGMx22bPz9sb4; Fri, 30 Sep 2022 18:46:37 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 09/10] libstdc++: Re-enable std::hash in freestanding [PR103626] Date: Fri, 30 Sep 2022 18:45:55 +0200 Message-Id: <20220930164556.1198044-10-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414527969231947?= X-GMAIL-MSGID: =?utf-8?q?1745414527969231947?= PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET hosted. * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. Signed-off-by: Arsen Arsenović --- libstdc++-v3/include/std/bitset | 9 +++++---- .../testsuite/20_util/bitset/cons/constexpr_c++23.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index 3fe8b18735c..b0b7f3f5482 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -52,9 +52,10 @@ # include # include # include -# if __cplusplus >= 201103L -# include -# endif +#endif + +#if __cplusplus >= 201103L +# include #endif #define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * __SIZEOF_LONG__) @@ -1649,7 +1650,7 @@ _GLIBCXX_END_NAMESPACE_CONTAINER #undef _GLIBCXX_BITSET_BITS_PER_WORD #undef _GLIBCXX_BITSET_BITS_PER_ULL -#if __cplusplus >= 201103L && _GLIBCXX_HOSTED +#if __cplusplus >= 201103L namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc b/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc index 532fc9dc4d5..d308c2b2f10 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc @@ -1,5 +1,7 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// This test relies on std::string. +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc b/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc index f82e7aa409a..4bacefad14a 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/ext/constexpr.cc @@ -1,5 +1,7 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// This test relies on std::string. +// { dg-require-effective-target hosted } #include #include From patchwork Fri Sep 30 16:45:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Arsen_Arsenovi=C4=87?= X-Patchwork-Id: 1608 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp582952wrs; Fri, 30 Sep 2022 09:57:48 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4ySNc9lkr0Fs9GT11UKNycxu49k8brDWZYToOC//hy6a7erOvWomaFugDVtUBMpP12519E X-Received: by 2002:a17:906:5d04:b0:722:f46c:b891 with SMTP id g4-20020a1709065d0400b00722f46cb891mr7139007ejt.4.1664557068609; Fri, 30 Sep 2022 09:57:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664557068; cv=none; d=google.com; s=arc-20160816; b=TfbMk3VjGOmNDCDj6qIZVdU69C5EGR+0FAnDKD2E8MP8Hb0VqJqoMsGIYx9OsmPdRw Dlxmlmy25+rZJ5BFxoAAvOdhFWogtXkvnBMLuLhbXFtGBvBnD+z5rsaxAoTKEPPiCA93 otsULs/GMZN9s2HQ1x29gZ+IoPjIk1eYe4G84oiFX8YYPZEgHLg4TukJfeNl4mgJjVAI zZqpkucOxbsLxgEaE+Lj7V8iPEJygZlRZ5+ePZMaT47LD1cs/swQR++ngopBKZgpuJY1 7EeEpOY31LPwSF8PXa/rqNnxXuMmGfK3RpMHb+EOJA+q5qqNlGZN5Zdyvn3SQcPCMOkA zwpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:from:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=Z9F8MJ5pZcaj5zJI3VUUf9T9BQEwI6/0HKsR07o3nTU=; b=j8vVahfBQPFITfDJ4tAQzzPEoFDq9gXDAmjQdLD6w4Mo52OjzV6n5sK3W+g1InhXGS LEwLxfUoWS7KdDFMZhnLO41xxqyGHC4UshJRTxBiQBMngMR/VVEO3uQQu2bOeYFesPaz ZHFzQdUxt0sIjgsrVMzHFPVFyRef29gBsMw/sFj0d/Nb3307bESJNbyqo1lwNJdkKUc4 UUPcXEUSzEgn1tp7tqwXtMPXZRMW3cEB6Vb5pF92/VYJIqfi26LOeZRTmxyfwyVqlXR1 gymC4Oy8PKF2iVkLtP1WJBNux4AKo9ydTAlcnjKKTz5Fgf0K2mx+GOx0ymhZJ+goOBbs +XRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=u2KshCg0; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id mp11-20020a1709071b0b00b0076fb816dae7si2084729ejc.97.2022.09.30.09.57.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 09:57:48 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=u2KshCg0; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 915D0383FBB8 for ; Fri, 30 Sep 2022 16:51:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 915D0383FBB8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664556670; bh=Z9F8MJ5pZcaj5zJI3VUUf9T9BQEwI6/0HKsR07o3nTU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=u2KshCg0QZnxswdq8oFAKf9Zg/oLn+PXYchwElgpOqEsl0+MwRsHOYVUy1qvx/U2F P3NrwQ5/lSUw/dWlCEmlQTeLbvUpkBLtNZYzLr8c5Abi0xEjoIGX3YtGHFdB6EmNtF HiWvGmvVVOznmgL+1TToSxZwFXjwBEnGunDitpAk= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by sourceware.org (Postfix) with ESMTPS id AF02438515D9; Fri, 30 Sep 2022 16:46:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AF02438515D9 Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4MfGN03kHhz9sSy; Fri, 30 Sep 2022 18:46:40 +0200 (CEST) To: gcc-patches@gcc.gnu.org Subject: [PATCH 10/10] libstdc++: Disable hosted-only tests [PR103626] Date: Fri, 30 Sep 2022 18:45:56 +0200 Message-Id: <20220930164556.1198044-11-arsen@aarsen.me> In-Reply-To: <20220930164556.1198044-1-arsen@aarsen.me> References: <20220930164556.1198044-1-arsen@aarsen.me> MIME-Version: 1.0 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, URI_HEX autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Arsen_Arsenovi=C4=87_via_Gcc-patches?= From: =?utf-8?q?Arsen_Arsenovi=C4=87?= Reply-To: =?utf-8?q?Arsen_Arsenovi=C4=87?= Cc: libstdc++@gcc.gnu.org Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1745414592827792124?= X-GMAIL-MSGID: =?utf-8?q?1745414592827792124?= PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Require ET hosted. * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. * testsuite/18_support/new_nothrow.cc: Likewise. * testsuite/20_util/allocator/105975.cc: Likewise. * testsuite/20_util/allocator/14176.cc: Likewise. * testsuite/20_util/allocator/64135.cc: Likewise. * testsuite/20_util/allocator/89510.cc: Likewise. * testsuite/20_util/allocator/lwg3190.cc: Likewise. * testsuite/20_util/allocator/overaligned.cc: Likewise. * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. * testsuite/20_util/allocator/requirements/constexpr.cc: Likewise. * testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/allocator/requirements/typedefs.cc: Likewise. * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise. * testsuite/20_util/allocator/void.cc: Likewise. * testsuite/20_util/allocator_traits/header-2.cc: Likewise. * testsuite/20_util/allocator_traits/header.cc: Likewise. * testsuite/20_util/allocator_traits/members/92878_92947.cc: Likewise. * testsuite/20_util/allocator_traits/members/pointers.cc: Likewise. * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Likewise. * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc: Likewise. * testsuite/20_util/bind/42593.cc: Likewise. * testsuite/20_util/bitset/access/dr396.cc: Likewise. * testsuite/20_util/bitset/access/to_string.cc: Likewise. * testsuite/20_util/bitset/access/to_ullong.cc: Likewise. * testsuite/20_util/bitset/cons/16020.cc: Likewise. * testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise. * testsuite/20_util/bitset/cons/dr396.cc: Likewise. * testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise. * testsuite/20_util/bitset/ext/15361.cc: Likewise. * testsuite/20_util/bitset/operations/13838.cc: Likewise. * testsuite/20_util/bitset/operations/96303.cc: Likewise. * testsuite/20_util/bitset/version.cc: Likewise. * testsuite/20_util/enable_shared_from_this/56383.cc: Likewise. * testsuite/20_util/enable_shared_from_this/89303.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/assign.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/const.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: Likewise. * testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/forward/1.cc: Likewise. * testsuite/20_util/forward/1_neg.cc: Likewise. * testsuite/20_util/function/1.cc: Likewise. * testsuite/20_util/function/10.cc: Likewise. * testsuite/20_util/function/2.cc: Likewise. * testsuite/20_util/function/3.cc: Likewise. * testsuite/20_util/function/4.cc: Likewise. * testsuite/20_util/function/43397.cc: Likewise. * testsuite/20_util/function/48541.cc: Likewise. * testsuite/20_util/function/5.cc: Likewise. * testsuite/20_util/function/58569.cc: Likewise. * testsuite/20_util/function/6.cc: Likewise. * testsuite/20_util/function/60594.cc: Likewise. * testsuite/20_util/function/65760.cc: Likewise. * testsuite/20_util/function/69222.cc: Likewise. * testsuite/20_util/function/7.cc: Likewise. * testsuite/20_util/function/77322.cc: Likewise. * testsuite/20_util/function/8.cc: Likewise. * testsuite/20_util/function/9.cc: Likewise. * testsuite/20_util/function/91456.cc: Likewise. * testsuite/20_util/function/assign/move.cc: Likewise. * testsuite/20_util/function/assign/move_target.cc: Likewise. * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise. * testsuite/20_util/function/cons/55320.cc: Likewise. * testsuite/20_util/function/cons/57465.cc: Likewise. * testsuite/20_util/function/cons/72820.cc: Likewise. * testsuite/20_util/function/cons/addressof.cc: Likewise. * testsuite/20_util/function/cons/callable.cc: Likewise. * testsuite/20_util/function/cons/deduction.cc: Likewise. * testsuite/20_util/function/cons/lwg2774.cc: Likewise. * testsuite/20_util/function/cons/move.cc: Likewise. * testsuite/20_util/function/cons/move_target.cc: Likewise. * testsuite/20_util/function/cons/noexcept.cc: Likewise. * testsuite/20_util/function/cons/non_copyconstructible.cc: Likewise. * testsuite/20_util/function/cons/refqual.cc: Likewise. * testsuite/20_util/function/cons/70692.cc: Likewise. * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. * testsuite/20_util/function/invoke/forwarding.cc: Likewise. * testsuite/20_util/function/invoke/move_only.cc: Likewise. * testsuite/20_util/function/null_pointer_comparisons.cc: Likewise. * testsuite/20_util/function/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/function/target_no_rtti.cc: Likewise. * testsuite/20_util/function_objects/83607.cc: Likewise. * testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise. * testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise. * testsuite/20_util/headers/functional/types_std_c++0x.cc: Likewise. * testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise. * testsuite/20_util/is_function/35637.cc: Likewise. * testsuite/20_util/move/1.cc: Likewise. * testsuite/20_util/move_only_function/call.cc: Likewise. * testsuite/20_util/move_only_function/cons.cc: Likewise. * testsuite/20_util/move_only_function/move.cc: Likewise. * testsuite/20_util/move_only_function/version.cc: Likewise. * testsuite/20_util/owner_less/cmp.cc: Likewise. * testsuite/20_util/owner_less/noexcept.cc: Likewise. * testsuite/20_util/owner_less/void.cc: Likewise. * testsuite/20_util/pointer_safety/1.cc: Likewise. * testsuite/20_util/scoped_allocator/65279.cc: Likewise. * testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise. * testsuite/20_util/scoped_allocator/construct_pair.cc: Likewise. * testsuite/20_util/scoped_allocator/dr2586.cc: Likewise. * testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Likewise. * testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise. * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. * testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise. * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/1.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. * testsuite/20_util/shared_ptr/cons/39405.cc: Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/46910.cc: Likewise. * testsuite/20_util/shared_ptr/cons/51365.cc: Likewise. * testsuite/20_util/shared_ptr/cons/52924.cc: Likewise. * testsuite/20_util/shared_ptr/cons/55123.cc: Likewise. * testsuite/20_util/shared_ptr/cons/58659.cc: Likewise. * testsuite/20_util/shared_ptr/cons/58839.cc: Likewise. * testsuite/20_util/shared_ptr/cons/61036.cc: Likewise. * testsuite/20_util/shared_ptr/cons/79467.cc: Likewise. * testsuite/20_util/shared_ptr/cons/80229.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. * testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise. * testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise. * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc: Likewise. * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: Likewise. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/creation/36949.cc: Likewise. * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: Likewise. * testsuite/20_util/shared_ptr/creation/58594.cc: Likewise. * testsuite/20_util/shared_ptr/creation/87278.cc: Likewise. * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise. * testsuite/20_util/shared_ptr/creation/99006.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise. * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. * testsuite/20_util/shared_ptr/creation/private.cc: Likewise. * testsuite/20_util/shared_ptr/creation/single_allocation.cc: Likewise. * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: Likewise. * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. * testsuite/20_util/shared_ptr/observers/array.cc: Likewise. * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise. * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/20_util/shared_ptr/requirements/weak_type.cc: Likewise. * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: Likewise. * testsuite/20_util/temporary_buffer.cc: Likewise. * testsuite/20_util/tuple/48476.cc: Likewise. * testsuite/20_util/tuple/cons/90700.cc: Likewise. * testsuite/20_util/tuple/cons/96803.cc: Likewise. * testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise. * testsuite/20_util/tuple/cons/allocators.cc: Likewise. * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise. * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. * testsuite/20_util/tuple/p2321r2.cc: Likewise. * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise. * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. * testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise. * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Likewise. * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: Likewise. * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. * testsuite/20_util/uses_allocator/uninitialized_construct.cc: Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc: Likewise. * testsuite/20_util/weak_ptr/lock/1.cc: Likewise. * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/21_strings/basic_string/version.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. * testsuite/21_strings/c_strings/char/69626.cc: Likewise. * testsuite/21_strings/char_traits/requirements/version.cc: Likewise. * testsuite/23_containers/vector/requirements/version.cc: Likewise. * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc: Likewise. * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: Likewise. * testsuite/25_algorithms/constexpr_macro.cc: Likewise. * testsuite/25_algorithms/equal/constrained.cc: Likewise. * testsuite/25_algorithms/headers/cstdlib/functions_std.cc: Likewise. * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/constrained.cc: Likewise. * testsuite/25_algorithms/make_heap/movable.cc: Likewise. * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. * testsuite/25_algorithms/random_shuffle/1.cc: Likewise. * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/sort/35588.cc: Likewise. * testsuite/25_algorithms/stable_partition/1.cc: Likewise. * testsuite/25_algorithms/stable_partition/constrained.cc: Likewise. * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise. * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise. * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/stable_sort/1.cc: Likewise. * testsuite/26_numerics/complex/2.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/functions_std.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. * testsuite/26_numerics/lerp/version.cc: Likewise. * testsuite/26_numerics/midpoint/version.cc: Likewise. * testsuite/27_io/basic_syncbuf/2.cc: Likewise. * testsuite/27_io/basic_syncstream/2.cc: Likewise. * testsuite/27_io/fpos/14320-1.cc: Likewise. * testsuite/27_io/fpos/14320-2.cc: Likewise. * testsuite/27_io/fpos/14320-3.cc: Likewise. * testsuite/27_io/fpos/14320-4.cc: Likewise. * testsuite/27_io/spanstream/version.cc: Likewise. * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. * testsuite/30_threads/barrier/2.cc: Likewise. * testsuite/30_threads/condition_variable_any/stop_token/2.cc: Likewise. * testsuite/30_threads/jthread/version.cc: Likewise. * testsuite/30_threads/latch/2.cc: Likewise. * testsuite/30_threads/semaphore/2.cc: Likewise. * testsuite/30_threads/stop_token/2.cc: Likewise. * testsuite/abi/pr42230.cc: Likewise. * testsuite/ext/shared_ptr/1.cc: Likewise. * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. * testsuite/std/ranges/adaptors/p1739.cc: Likewise. * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. * testsuite/std/ranges/p2325.cc: Likewise. Signed-off-by: Arsen Arsenović --- .../testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc | 1 + .../testsuite/18_support/aligned_alloc/aligned_alloc.cc | 1 + libstdc++-v3/testsuite/18_support/new_nothrow.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/105975.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/14176.cc | 2 ++ libstdc++-v3/testsuite/20_util/allocator/64135.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/89510.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/lwg3190.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/overaligned.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/rebind_c++20.cc | 1 + .../testsuite/20_util/allocator/requirements/constexpr.cc | 5 +++-- .../allocator/requirements/explicit_instantiation/1.cc | 1 + .../testsuite/20_util/allocator/requirements/typedefs.cc | 1 + .../20_util/allocator/requirements/typedefs_c++20.cc | 5 +++-- libstdc++-v3/testsuite/20_util/allocator/void.cc | 1 + libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc | 5 +++-- libstdc++-v3/testsuite/20_util/allocator_traits/header.cc | 5 +++-- .../20_util/allocator_traits/members/92878_92947.cc | 6 ++++-- .../testsuite/20_util/allocator_traits/members/pointers.cc | 1 + .../20_util/allocator_traits/requirements/typedefs.cc | 1 + .../20_util/bad_function_call/cons_virtual_derivation.cc | 2 ++ libstdc++-v3/testsuite/20_util/bind/42593.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/access/dr396.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/access/to_string.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/access/to_ullong.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/cons/16020.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/cons/dr1325-2.cc | 1 + libstdc++-v3/testsuite/20_util/bitset/cons/dr396.cc | 2 ++ .../testsuite/20_util/bitset/debug/invalidation/1.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/ext/15361.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/operations/13838.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/operations/96303.cc | 2 ++ libstdc++-v3/testsuite/20_util/bitset/version.cc | 1 + .../testsuite/20_util/enable_shared_from_this/56383.cc | 1 + .../testsuite/20_util/enable_shared_from_this/89303.cc | 1 + .../20_util/enable_shared_from_this/members/assign.cc | 1 + .../20_util/enable_shared_from_this/members/const.cc | 1 + .../20_util/enable_shared_from_this/members/reinit.cc | 1 + .../20_util/enable_shared_from_this/members/unique_ptr.cc | 1 + .../enable_shared_from_this/members/weak_from_this.cc | 1 + .../requirements/explicit_instantiation.cc | 1 + libstdc++-v3/testsuite/20_util/forward/1.cc | 1 + libstdc++-v3/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 ++ libstdc++-v3/testsuite/20_util/function/43397.cc | 2 ++ libstdc++-v3/testsuite/20_util/function/48541.cc | 2 ++ libstdc++-v3/testsuite/20_util/function/5.cc | 2 ++ libstdc++-v3/testsuite/20_util/function/58569.cc | 2 ++ libstdc++-v3/testsuite/20_util/function/6.cc | 2 ++ libstdc++-v3/testsuite/20_util/function/60594.cc | 1 + libstdc++-v3/testsuite/20_util/function/65760.cc | 1 + libstdc++-v3/testsuite/20_util/function/69222.cc | 1 + libstdc++-v3/testsuite/20_util/function/7.cc | 2 ++ libstdc++-v3/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 ++ libstdc++-v3/testsuite/20_util/function/91456.cc | 1 + libstdc++-v3/testsuite/20_util/function/assign/move.cc | 1 + .../testsuite/20_util/function/assign/move_target.cc | 1 + libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/55320.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/57465.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/70692.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/72820.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/addressof.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/callable.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/deduction.cc | 1 + .../testsuite/20_util/function/cons/deduction_c++23.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/lwg2774.cc | 2 ++ libstdc++-v3/testsuite/20_util/function/cons/move.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/move_target.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/noexcept.cc | 2 ++ .../20_util/function/cons/non_copyconstructible.cc | 1 + libstdc++-v3/testsuite/20_util/function/cons/refqual.cc | 1 + .../testsuite/20_util/function/invoke/forwarding.cc | 1 + libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc | 1 + .../testsuite/20_util/function/null_pointer_comparisons.cc | 1 + .../20_util/function/requirements/explicit_instantiation.cc | 1 + libstdc++-v3/testsuite/20_util/function/target_no_rtti.cc | 1 + libstdc++-v3/testsuite/20_util/function_objects/83607.cc | 1 + .../testsuite/20_util/function_objects/mem_fn/adl.cc | 1 + .../testsuite/20_util/headers/cstdlib/functions_std.cc | 1 + .../testsuite/20_util/headers/functional/types_std_c++0x.cc | 1 + .../testsuite/20_util/headers/memory/types_std_c++0x.cc | 1 + libstdc++-v3/testsuite/20_util/is_function/35637.cc | 1 + libstdc++-v3/testsuite/20_util/move/1.cc | 1 + libstdc++-v3/testsuite/20_util/move_only_function/call.cc | 1 + libstdc++-v3/testsuite/20_util/move_only_function/cons.cc | 1 + libstdc++-v3/testsuite/20_util/move_only_function/move.cc | 1 + .../testsuite/20_util/move_only_function/version.cc | 1 + libstdc++-v3/testsuite/20_util/owner_less/cmp.cc | 1 + libstdc++-v3/testsuite/20_util/owner_less/noexcept.cc | 1 + libstdc++-v3/testsuite/20_util/owner_less/void.cc | 1 + libstdc++-v3/testsuite/20_util/pointer_safety/1.cc | 1 + libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc | 2 ++ .../testsuite/20_util/scoped_allocator/69293_neg.cc | 2 ++ .../testsuite/20_util/scoped_allocator/construct_pair.cc | 1 + libstdc++-v3/testsuite/20_util/scoped_allocator/dr2586.cc | 2 ++ .../scoped_allocator/requirements/explicit_instantiation.cc | 2 ++ libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc | 1 + .../testsuite/20_util/shared_ptr/assign/auto_ptr.cc | 1 + .../testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc | 1 + .../testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/assign/sfinae.cc | 1 + .../testsuite/20_util/shared_ptr/assign/shared_ptr.cc | 1 + .../testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc | 1 + .../20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc | 1 + .../20_util/shared_ptr/assign/unique_ptr_rvalue.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc | 1 + .../testsuite/20_util/shared_ptr/casts/reinterpret.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/casts/rval.cc | 1 + .../testsuite/20_util/shared_ptr/comparison/42925.cc | 1 + .../testsuite/20_util/shared_ptr/comparison/86537.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc | 1 + .../testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc | 1 + .../testsuite/20_util/shared_ptr/comparison/dr1401.cc | 1 + .../testsuite/20_util/shared_ptr/comparison/less.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/79467.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/80229.cc | 1 + .../testsuite/20_util/shared_ptr/cons/alias-rval.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc | 1 + .../testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg2802.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg3548.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc | 1 + .../20_util/shared_ptr/cons/noexcept_move_construct.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc | 1 + .../testsuite/20_util/shared_ptr/cons/unique_ptr.cc | 1 + .../testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc | 1 + .../testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc | 1 + .../20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc | 1 + .../20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc | 1 + .../testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc | 1 + .../testsuite/20_util/shared_ptr/creation/92878_92947.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc | 1 + .../testsuite/20_util/shared_ptr/creation/no_rtti.cc | 1 + .../testsuite/20_util/shared_ptr/creation/overwrite.cc | 1 + .../testsuite/20_util/shared_ptr/creation/private.cc | 1 + .../20_util/shared_ptr/creation/single_allocation.cc | 1 + .../shared_ptr/creation/single_allocation_no_rtti.cc | 1 + .../testsuite/20_util/shared_ptr/creation/version.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc | 1 + .../testsuite/20_util/shared_ptr/misc/get_deleter.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc | 1 + .../testsuite/20_util/shared_ptr/modifiers/reset.cc | 1 + .../testsuite/20_util/shared_ptr/modifiers/reset_neg.cc | 1 + .../testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc | 1 + .../testsuite/20_util/shared_ptr/modifiers/swap_neg.cc | 1 + .../testsuite/20_util/shared_ptr/observers/array.cc | 1 + .../testsuite/20_util/shared_ptr/observers/bool_conv.cc | 1 + libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc | 1 + .../testsuite/20_util/shared_ptr/observers/owner_before.cc | 1 + .../testsuite/20_util/shared_ptr/observers/unique.cc | 1 + .../testsuite/20_util/shared_ptr/observers/use_count.cc | 1 + .../shared_ptr/requirements/explicit_instantiation/1.cc | 1 + .../shared_ptr/requirements/explicit_instantiation/2.cc | 1 + .../testsuite/20_util/shared_ptr/requirements/weak_type.cc | 1 + .../20_util/specialized_algorithms/construct_at/95788.cc | 2 ++ libstdc++-v3/testsuite/20_util/temporary_buffer.cc | 2 ++ libstdc++-v3/testsuite/20_util/tuple/48476.cc | 1 + libstdc++-v3/testsuite/20_util/tuple/cons/90700.cc | 2 ++ libstdc++-v3/testsuite/20_util/tuple/cons/96803.cc | 2 ++ .../testsuite/20_util/tuple/cons/allocator_with_any.cc | 2 ++ libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc | 2 ++ .../20_util/tuple/cons/constexpr_allocator_arg_t.cc | 2 ++ .../testsuite/20_util/tuple/cons/explicit_construct.cc | 2 ++ libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc | 2 ++ .../testsuite/20_util/unique_ptr/creation/92878_92947.cc | 1 + libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc | 1 + .../testsuite/20_util/unique_ptr/creation/array_neg.cc | 1 + .../testsuite/20_util/unique_ptr/creation/constexpr.cc | 1 + .../testsuite/20_util/unique_ptr/creation/for_overwrite.cc | 1 + .../20_util/unique_ptr/creation/for_overwrite__neg.cc | 1 + .../testsuite/20_util/unique_ptr/creation/single.cc | 1 + libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc | 2 ++ .../testsuite/20_util/uses_allocator/92878_92947.cc | 1 + .../20_util/uses_allocator/uninitialized_construct.cc | 2 ++ .../testsuite/20_util/weak_ptr/comparison/cmp_neg.cc | 1 + libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc | 1 + .../20_util/weak_ptr/cons/noexcept_move_construct.cc | 1 + libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc | 1 + .../testsuite/20_util/weak_ptr/observers/owner_before.cc | 1 + .../weak_ptr/requirements/explicit_instantiation/1.cc | 1 + .../weak_ptr/requirements/explicit_instantiation/2.cc | 1 + libstdc++-v3/testsuite/21_strings/basic_string/version.cc | 1 + .../basic_string_view/operations/contains/char/2.cc | 1 + libstdc++-v3/testsuite/21_strings/c_strings/char/69626.cc | 1 + .../21_strings/char_traits/requirements/version.cc | 1 + .../testsuite/23_containers/vector/requirements/version.cc | 1 + .../back_insert_iterator/requirements/base_classes.cc | 2 ++ .../front_insert_iterator/requirements/base_classes.cc | 2 ++ .../insert_iterator/requirements/base_classes.cc | 2 ++ .../istream_iterator/requirements/base_classes.cc | 2 ++ .../testsuite/24_iterators/istreambuf_iterator/92285.cc | 2 ++ .../24_iterators/istreambuf_iterator/cons/sentinel.cc | 1 + .../istreambuf_iterator/requirements/base_classes.cc | 2 ++ .../24_iterators/istreambuf_iterator/requirements/dr445.cc | 1 + .../ostream_iterator/requirements/base_classes.cc | 2 ++ .../ostreambuf_iterator/requirements/base_classes.cc | 2 ++ libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc | 1 + libstdc++-v3/testsuite/25_algorithms/equal/constrained.cc | 1 + .../25_algorithms/headers/cstdlib/functions_std.cc | 1 + libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc | 3 +++ .../25_algorithms/lexicographical_compare/constrained.cc | 1 + libstdc++-v3/testsuite/25_algorithms/make_heap/movable.cc | 1 + libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc | 1 + libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc | 1 + .../testsuite/25_algorithms/random_shuffle/moveable.cc | 1 + .../random_shuffle/requirements/explicit_instantiation/2.cc | 1 + libstdc++-v3/testsuite/25_algorithms/sort/35588.cc | 3 +++ libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc | 3 +++ .../testsuite/25_algorithms/stable_partition/constrained.cc | 3 +++ .../testsuite/25_algorithms/stable_partition/mem_check.cc | 3 +++ .../testsuite/25_algorithms/stable_partition/moveable.cc | 3 +++ .../requirements/explicit_instantiation/2.cc | 1 + .../requirements/explicit_instantiation/pod.cc | 3 +++ libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc | 3 +++ libstdc++-v3/testsuite/26_numerics/complex/2.cc | 1 + libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc | 2 ++ libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc | 3 +++ libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc | 1 + .../testsuite/26_numerics/headers/cstdlib/dr2192.cc | 2 ++ .../testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc | 3 +++ .../testsuite/26_numerics/headers/cstdlib/dr2735.cc | 1 + .../testsuite/26_numerics/headers/cstdlib/functions_std.cc | 3 +++ .../testsuite/26_numerics/headers/cstdlib/macros.cc | 3 +++ .../testsuite/26_numerics/headers/cstdlib/types_std.cc | 3 +++ .../26_numerics/headers/cstdlib/types_std_c++0x.cc | 3 +++ libstdc++-v3/testsuite/26_numerics/lerp/version.cc | 1 + libstdc++-v3/testsuite/26_numerics/midpoint/version.cc | 1 + libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc | 1 + libstdc++-v3/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 ++ libstdc++-v3/testsuite/27_io/spanstream/version.cc | 1 + libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc | 4 ++++ libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc | 3 +++ libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc | 1 + .../testsuite/29_atomics/atomic/wait_notify/102994.cc | 1 + libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc | 1 + .../testsuite/29_atomics/headers/stdatomic.h/version.cc | 3 +++ libstdc++-v3/testsuite/30_threads/barrier/2.cc | 1 + .../30_threads/condition_variable_any/stop_token/2.cc | 1 + libstdc++-v3/testsuite/30_threads/jthread/version.cc | 1 + libstdc++-v3/testsuite/30_threads/latch/2.cc | 1 + libstdc++-v3/testsuite/30_threads/semaphore/2.cc | 1 + libstdc++-v3/testsuite/30_threads/stop_token/2.cc | 1 + libstdc++-v3/testsuite/abi/pr42230.cc | 1 + libstdc++-v3/testsuite/ext/shared_ptr/1.cc | 1 + .../testsuite/std/ranges/adaptors/lazy_split_neg.cc | 1 + libstdc++-v3/testsuite/std/ranges/adaptors/p1739.cc | 2 ++ libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc | 1 + libstdc++-v3/testsuite/std/ranges/p2325.cc | 1 + 290 files changed, 391 insertions(+), 10 deletions(-) diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc index ec81da13131..dac92e6cf88 100644 --- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc +++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc @@ -1,5 +1,6 @@ // { dg-do compile } // { dg-options "-D_GLIBCXX_NO_ASSERT" } +// { dg-require-effective-target hosted } // NB: This is done to force any generated and possibly included PCH // to be invalid, and also to remove cassert from the include set. diff --git a/libstdc++-v3/testsuite/18_support/aligned_alloc/aligned_alloc.cc b/libstdc++-v3/testsuite/18_support/aligned_alloc/aligned_alloc.cc index 1997ad05704..be4fda37b65 100644 --- a/libstdc++-v3/testsuite/18_support/aligned_alloc/aligned_alloc.cc +++ b/libstdc++-v3/testsuite/18_support/aligned_alloc/aligned_alloc.cc @@ -17,6 +17,7 @@ // { dg-do run { target c++17 } } // { dg-require-cstdint "" } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/18_support/new_nothrow.cc b/libstdc++-v3/testsuite/18_support/new_nothrow.cc index b0ef4e966b8..d5e7eb58782 100644 --- a/libstdc++-v3/testsuite/18_support/new_nothrow.cc +++ b/libstdc++-v3/testsuite/18_support/new_nothrow.cc @@ -17,6 +17,7 @@ // { dg-do run } // { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/105975.cc b/libstdc++-v3/testsuite/20_util/allocator/105975.cc index 4342aeade04..09f27ba86e3 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/105975.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/105975.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++20" } // { dg-do compile { target c++20 } } +// { dg-require-effective-target hosted } // PR libstdc++/105957 diff --git a/libstdc++-v3/testsuite/20_util/allocator/14176.cc b/libstdc++-v3/testsuite/20_util/allocator/14176.cc index 137d33f7217..5ec6df8c0a9 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/14176.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/14176.cc @@ -15,6 +15,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + // 20.4.1.1 allocator members #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/64135.cc b/libstdc++-v3/testsuite/20_util/allocator/64135.cc index b0a49e9b3f0..686fab35f9f 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/64135.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/64135.cc @@ -1,5 +1,6 @@ // { dg-do compile { target std_allocator_new } } // { dg-add-options no_pch } +// { dg-require-effective-target hosted } // PR libstdc++/64135 diff --git a/libstdc++-v3/testsuite/20_util/allocator/89510.cc b/libstdc++-v3/testsuite/20_util/allocator/89510.cc index b149b2eca09..65ae30de9a0 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/89510.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/89510.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/lwg3190.cc b/libstdc++-v3/testsuite/20_util/allocator/lwg3190.cc index 001c66f5ce4..3fa1a797d02 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/lwg3190.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/lwg3190.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/overaligned.cc b/libstdc++-v3/testsuite/20_util/allocator/overaligned.cc index 6f8d8982877..607c5978145 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/overaligned.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/overaligned.cc @@ -18,6 +18,7 @@ // { dg-options "-faligned-new" } // { dg-do run { target { c++11 && { c++17 || std_allocator_new } } } } // { dg-require-cstdint "" } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/rebind_c++20.cc b/libstdc++-v3/testsuite/20_util/allocator/rebind_c++20.cc index 17c4c48cdf8..3253050faed 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/rebind_c++20.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/rebind_c++20.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/constexpr.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/constexpr.cc index c34b4a4a443..fea32ccb3f2 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/requirements/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/constexpr.cc @@ -15,8 +15,9 @@ // with this library; see the file COPYING3. If not see // . -// { dg-options "-std=gnu++2a" } -// { dg-do compile { target c++2a } } +// { dg-options "-std=gnu++20" } +// { dg-do compile { target c++20 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc index 18d6607eabe..ff0f44cd84f 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc @@ -1,4 +1,5 @@ // { dg-do compile } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc index b99102a478f..d7b16667bfb 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs_c++20.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs_c++20.cc index 3edefa139b7..8bbd353bc93 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs_c++20.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs_c++20.cc @@ -15,8 +15,9 @@ // with this library; see the file COPYING3. If not see // . -// { dg-options "-std=gnu++2a" } -// { dg-do compile { target c++2a } } +// { dg-options "-std=gnu++20" } +// { dg-do compile { target c++20 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator/void.cc b/libstdc++-v3/testsuite/20_util/allocator/void.cc index 5cdf0be012c..ffb26c5885a 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/void.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/void.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc index a630470833b..0f3dcef3c42 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc @@ -15,8 +15,9 @@ // with this library; see the file COPYING3. If not see // . -// { dg-options "-std=gnu++2a" } -// { dg-do compile { target c++2a } } +// { dg-options "-std=gnu++20" } +// { dg-do compile { target c++20 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc index dd1d3c899ad..2e901b1bf1c 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc @@ -15,8 +15,9 @@ // with this library; see the file COPYING3. If not see // . -// { dg-options "-std=gnu++2a" } -// { dg-do compile { target c++2a } } +// { dg-options "-std=gnu++20" } +// { dg-do compile { target c++20 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/92878_92947.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/92878_92947.cc index 7716fee1b39..4f56a7b3487 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/92878_92947.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/92878_92947.cc @@ -1,5 +1,7 @@ -// { dg-options "-std=gnu++2a" } -// { dg-do run { target c++2a } } +// { dg-options "-std=gnu++20" } +// { dg-do run { target c++20 } } +// { dg-require-effective-target hosted } + // Copyright (C) 2020-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/pointers.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/pointers.cc index 6cbcfb96810..edc67d3c3c9 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/pointers.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/pointers.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc index d11eb91572e..a8ba365e84c 100644 --- a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc index b34ae8ddf56..0b27d23030b 100644 --- a/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc +++ b/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2007-05-29 Benjamin Kosnik // Copyright (C) 2007-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/bind/42593.cc b/libstdc++-v3/testsuite/20_util/bind/42593.cc index f59c8f5bbcd..15c4af9ef79 100644 --- a/libstdc++-v3/testsuite/20_util/bind/42593.cc +++ b/libstdc++-v3/testsuite/20_util/bind/42593.cc @@ -1,4 +1,6 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } + // Copyright (C) 2010-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/20_util/bitset/access/dr396.cc b/libstdc++-v3/testsuite/20_util/bitset/access/dr396.cc index dfba27ed3af..b70ee583267 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/access/dr396.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/access/dr396.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + // 23.3.5.2 bitset members #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/access/to_string.cc b/libstdc++-v3/testsuite/20_util/bitset/access/to_string.cc index 8384eb96d25..037a2ef00ee 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/access/to_string.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/access/to_string.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + // 23.3.5.2 bitset members #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/access/to_ullong.cc b/libstdc++-v3/testsuite/20_util/bitset/access/to_ullong.cc index 18fc0772d1c..8672ee7b542 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/access/to_ullong.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/access/to_ullong.cc @@ -19,6 +19,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/cons/16020.cc b/libstdc++-v3/testsuite/20_util/bitset/cons/16020.cc index ffccdd2df8a..b2c21a88aea 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/cons/16020.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/cons/16020.cc @@ -15,6 +15,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/cons/dr1325-2.cc b/libstdc++-v3/testsuite/20_util/bitset/cons/dr1325-2.cc index 2371bef09cc..e3551effeef 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/cons/dr1325-2.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/cons/dr1325-2.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // 2010-10-11 Paolo Carlini diff --git a/libstdc++-v3/testsuite/20_util/bitset/cons/dr396.cc b/libstdc++-v3/testsuite/20_util/bitset/cons/dr396.cc index f1f9d876c2e..b510da81281 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/cons/dr396.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/cons/dr396.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/debug/invalidation/1.cc b/libstdc++-v3/testsuite/20_util/bitset/debug/invalidation/1.cc index 5d0e3c15171..64295c7037a 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/debug/invalidation/1.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/debug/invalidation/1.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/ext/15361.cc b/libstdc++-v3/testsuite/20_util/bitset/ext/15361.cc index 392470084ae..efe01d602ac 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/ext/15361.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/ext/15361.cc @@ -15,6 +15,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/operations/13838.cc b/libstdc++-v3/testsuite/20_util/bitset/operations/13838.cc index c38ccc3911d..f691f7adda3 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/operations/13838.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/operations/13838.cc @@ -15,6 +15,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/bitset/operations/96303.cc b/libstdc++-v3/testsuite/20_util/bitset/operations/96303.cc index b1f729d70f3..6dc71ce26ff 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/operations/96303.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/operations/96303.cc @@ -18,6 +18,8 @@ // { dg-options "-std=gnu++2a -pedantic" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } + #include bool diff --git a/libstdc++-v3/testsuite/20_util/bitset/version.cc b/libstdc++-v3/testsuite/20_util/bitset/version.cc index 7197b1ed956..791ec43bf2d 100644 --- a/libstdc++-v3/testsuite/20_util/bitset/version.cc +++ b/libstdc++-v3/testsuite/20_util/bitset/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do preprocess { target c++23 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc index c36b81b0e23..6577660e4dc 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/89303.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/89303.cc index e957eb24ee5..7b21a2f918a 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/89303.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/89303.cc @@ -17,6 +17,7 @@ // { dg-options "-O1" } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // PR middle-end/89303 diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc index 87d13805f28..719c248975c 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc index 2130b36c081..6843cd54608 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc index c2c46b34c90..caf4141f124 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc index 19c92d9b7ca..c267d80833e 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc index 216048d7ee7..cf6bb8b6dea 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++17 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc index 6429f259553..28d5a57530c 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/forward/1.cc b/libstdc++-v3/testsuite/20_util/forward/1.cc index 7d27cba2317..37b29c13a4a 100644 --- a/libstdc++-v3/testsuite/20_util/forward/1.cc +++ b/libstdc++-v3/testsuite/20_util/forward/1.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // 2007-07-10 Paolo Carlini // diff --git a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc index c483e3674d0..54e1a6a6e28 100644 --- a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc +++ b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // 2007-07-10 Paolo Carlini // diff --git a/libstdc++-v3/testsuite/20_util/function/1.cc b/libstdc++-v3/testsuite/20_util/function/1.cc index 152b21f6517..a0c0c580626 100644 --- a/libstdc++-v3/testsuite/20_util/function/1.cc +++ b/libstdc++-v3/testsuite/20_util/function/1.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/10.cc b/libstdc++-v3/testsuite/20_util/function/10.cc index c217012d24e..3353644e756 100644 --- a/libstdc++-v3/testsuite/20_util/function/10.cc +++ b/libstdc++-v3/testsuite/20_util/function/10.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/2.cc b/libstdc++-v3/testsuite/20_util/function/2.cc index 278dc89736c..d601ca8e617 100644 --- a/libstdc++-v3/testsuite/20_util/function/2.cc +++ b/libstdc++-v3/testsuite/20_util/function/2.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/3.cc b/libstdc++-v3/testsuite/20_util/function/3.cc index 62578565978..634eb2f5ebf 100644 --- a/libstdc++-v3/testsuite/20_util/function/3.cc +++ b/libstdc++-v3/testsuite/20_util/function/3.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/4.cc b/libstdc++-v3/testsuite/20_util/function/4.cc index e2c098c1552..8d67ab6cb85 100644 --- a/libstdc++-v3/testsuite/20_util/function/4.cc +++ b/libstdc++-v3/testsuite/20_util/function/4.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/43397.cc b/libstdc++-v3/testsuite/20_util/function/43397.cc index b60066995ef..11e3f5931c1 100644 --- a/libstdc++-v3/testsuite/20_util/function/43397.cc +++ b/libstdc++-v3/testsuite/20_util/function/43397.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // Copyright (C) 2010-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/20_util/function/48541.cc b/libstdc++-v3/testsuite/20_util/function/48541.cc index 3558c1d9970..8469832a4ea 100644 --- a/libstdc++-v3/testsuite/20_util/function/48541.cc +++ b/libstdc++-v3/testsuite/20_util/function/48541.cc @@ -1,4 +1,6 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } + // Copyright (C) 2011-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/20_util/function/5.cc b/libstdc++-v3/testsuite/20_util/function/5.cc index ccd4c327585..63f68123ee1 100644 --- a/libstdc++-v3/testsuite/20_util/function/5.cc +++ b/libstdc++-v3/testsuite/20_util/function/5.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/58569.cc b/libstdc++-v3/testsuite/20_util/function/58569.cc index f2b320ff2b3..b1064003d69 100644 --- a/libstdc++-v3/testsuite/20_util/function/58569.cc +++ b/libstdc++-v3/testsuite/20_util/function/58569.cc @@ -1,4 +1,6 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } + // Copyright (C) 2013-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/20_util/function/6.cc b/libstdc++-v3/testsuite/20_util/function/6.cc index 3eb9ef86b25..6ed84abd1d6 100644 --- a/libstdc++-v3/testsuite/20_util/function/6.cc +++ b/libstdc++-v3/testsuite/20_util/function/6.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/60594.cc b/libstdc++-v3/testsuite/20_util/function/60594.cc index 0a6e7586071..f0fb077a06d 100644 --- a/libstdc++-v3/testsuite/20_util/function/60594.cc +++ b/libstdc++-v3/testsuite/20_util/function/60594.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/65760.cc b/libstdc++-v3/testsuite/20_util/function/65760.cc index ad59c23aa95..db3607e35da 100644 --- a/libstdc++-v3/testsuite/20_util/function/65760.cc +++ b/libstdc++-v3/testsuite/20_util/function/65760.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // libstdc++/65760 // c.f. https://gcc.gnu.org/ml/libstdc++/2015-04/msg00116.html diff --git a/libstdc++-v3/testsuite/20_util/function/69222.cc b/libstdc++-v3/testsuite/20_util/function/69222.cc index daf6bd0d768..12fd82d208e 100644 --- a/libstdc++-v3/testsuite/20_util/function/69222.cc +++ b/libstdc++-v3/testsuite/20_util/function/69222.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/7.cc b/libstdc++-v3/testsuite/20_util/function/7.cc index 533232f3729..39849045ce1 100644 --- a/libstdc++-v3/testsuite/20_util/function/7.cc +++ b/libstdc++-v3/testsuite/20_util/function/7.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/77322.cc b/libstdc++-v3/testsuite/20_util/function/77322.cc index ac286faf355..5e0f4076e60 100644 --- a/libstdc++-v3/testsuite/20_util/function/77322.cc +++ b/libstdc++-v3/testsuite/20_util/function/77322.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/8.cc b/libstdc++-v3/testsuite/20_util/function/8.cc index bd94e78de24..de609d9cdd4 100644 --- a/libstdc++-v3/testsuite/20_util/function/8.cc +++ b/libstdc++-v3/testsuite/20_util/function/8.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/9.cc b/libstdc++-v3/testsuite/20_util/function/9.cc index 0a1f627e459..7a58655a621 100644 --- a/libstdc++-v3/testsuite/20_util/function/9.cc +++ b/libstdc++-v3/testsuite/20_util/function/9.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + // 2005-01-15 Douglas Gregor // // Copyright (C) 2005-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/function/91456.cc b/libstdc++-v3/testsuite/20_util/function/91456.cc index 081bf20e2cf..8fa53338738 100644 --- a/libstdc++-v3/testsuite/20_util/function/91456.cc +++ b/libstdc++-v3/testsuite/20_util/function/91456.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } // PR 91456 // std::function and std::is_invocable_r do not understand guaranteed elision diff --git a/libstdc++-v3/testsuite/20_util/function/assign/move.cc b/libstdc++-v3/testsuite/20_util/function/assign/move.cc index 38b82bef042..f57cba57801 100644 --- a/libstdc++-v3/testsuite/20_util/function/assign/move.cc +++ b/libstdc++-v3/testsuite/20_util/function/assign/move.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc b/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc index e1753bdc3fb..7a13a20b3f2 100644 --- a/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc +++ b/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc index e2e87d9c8f1..edbb3b5dbb1 100644 --- a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc +++ b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/cons/55320.cc b/libstdc++-v3/testsuite/20_util/function/cons/55320.cc index 762df45e3cd..f8ee56fd446 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/55320.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/55320.cc @@ -18,6 +18,7 @@ // libstdc++/55320 // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/57465.cc b/libstdc++-v3/testsuite/20_util/function/cons/57465.cc index ebc6eb5e1c5..89471449a57 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/57465.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/57465.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/70692.cc b/libstdc++-v3/testsuite/20_util/function/cons/70692.cc index 7cdc472497e..f9e8fe31570 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/70692.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/70692.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // PR libstdc++/70692 // No warning when function binds a reference to a temporary #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/72820.cc b/libstdc++-v3/testsuite/20_util/function/cons/72820.cc index a89bcca5327..681f29c2404 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/72820.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/72820.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc b/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc index a22fc8c2bb8..402e902e608 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/callable.cc b/libstdc++-v3/testsuite/20_util/function/cons/callable.cc index fc0402affe9..836fe2823cb 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/callable.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/callable.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc index 5fd9e652db2..ceb628f1dd9 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/deduction.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/deduction_c++23.cc b/libstdc++-v3/testsuite/20_util/function/cons/deduction_c++23.cc index 17454ea4108..856e0b845b8 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/deduction_c++23.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/deduction_c++23.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/lwg2774.cc b/libstdc++-v3/testsuite/20_util/function/cons/lwg2774.cc index a606104c841..3817090c3ac 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/lwg2774.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/lwg2774.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/move.cc b/libstdc++-v3/testsuite/20_util/function/cons/move.cc index cab6bfc76d4..3b3fccdd795 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/move.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/move.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc b/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc index 2cfdfe1fb93..a2ea946de6b 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/cons/noexcept.cc b/libstdc++-v3/testsuite/20_util/function/cons/noexcept.cc index 635719874fb..59f20ba9843 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/noexcept.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/noexcept.cc @@ -1,4 +1,6 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } + #include struct X diff --git a/libstdc++-v3/testsuite/20_util/function/cons/non_copyconstructible.cc b/libstdc++-v3/testsuite/20_util/function/cons/non_copyconstructible.cc index c27a19c86f5..d02e80f4e39 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/non_copyconstructible.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/non_copyconstructible.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/cons/refqual.cc b/libstdc++-v3/testsuite/20_util/function/cons/refqual.cc index da2f2d2ffa4..74c3d8b1988 100644 --- a/libstdc++-v3/testsuite/20_util/function/cons/refqual.cc +++ b/libstdc++-v3/testsuite/20_util/function/cons/refqual.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc b/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc index 23b17d93e4c..f9f8c92e787 100644 --- a/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc +++ b/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc b/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc index e31c50428cc..f8c26c26a74 100644 --- a/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc +++ b/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc b/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc index d17932ef93e..3ad45e02c30 100644 --- a/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc +++ b/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc index 9f3ebd2e819..84552d16a89 100644 --- a/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function/target_no_rtti.cc b/libstdc++-v3/testsuite/20_util/function/target_no_rtti.cc index de20e3bbdc7..4fee448e186 100644 --- a/libstdc++-v3/testsuite/20_util/function/target_no_rtti.cc +++ b/libstdc++-v3/testsuite/20_util/function/target_no_rtti.cc @@ -1,5 +1,6 @@ // { dg-options "-fno-rtti" } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/function_objects/83607.cc b/libstdc++-v3/testsuite/20_util/function_objects/83607.cc index b5a30047925..05d506b86a7 100644 --- a/libstdc++-v3/testsuite/20_util/function_objects/83607.cc +++ b/libstdc++-v3/testsuite/20_util/function_objects/83607.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc index a80775f2f18..fdc94408f86 100644 --- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc +++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc index 88b00c1e0ff..785e6594537 100644 --- a/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc +++ b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc @@ -1,4 +1,5 @@ // { dg-do compile } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc index 422c8f6159f..c615c213075 100644 --- a/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc +++ b/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc index 6fe32685e81..697f03f95d6 100644 --- a/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc +++ b/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/is_function/35637.cc b/libstdc++-v3/testsuite/20_util/is_function/35637.cc index 0a6ecfe57ce..ae13315bfb8 100644 --- a/libstdc++-v3/testsuite/20_util/is_function/35637.cc +++ b/libstdc++-v3/testsuite/20_util/is_function/35637.cc @@ -1,5 +1,6 @@ // { dg-options "-pedantic-errors" } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/move/1.cc b/libstdc++-v3/testsuite/20_util/move/1.cc index fdc7c225d82..7ecc87c285e 100644 --- a/libstdc++-v3/testsuite/20_util/move/1.cc +++ b/libstdc++-v3/testsuite/20_util/move/1.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // 2007-07-10 Paolo Carlini // diff --git a/libstdc++-v3/testsuite/20_util/move_only_function/call.cc b/libstdc++-v3/testsuite/20_util/move_only_function/call.cc index 9ca0a60a24e..68aa20568eb 100644 --- a/libstdc++-v3/testsuite/20_util/move_only_function/call.cc +++ b/libstdc++-v3/testsuite/20_util/move_only_function/call.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do run { target c++23 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc b/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc index d8a0a4ab2b0..44e9681b694 100644 --- a/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc +++ b/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/move_only_function/move.cc b/libstdc++-v3/testsuite/20_util/move_only_function/move.cc index f1f0fb597e5..0bed6edbf1a 100644 --- a/libstdc++-v3/testsuite/20_util/move_only_function/move.cc +++ b/libstdc++-v3/testsuite/20_util/move_only_function/move.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do run { target c++23 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/move_only_function/version.cc b/libstdc++-v3/testsuite/20_util/move_only_function/version.cc index 9fe52f46123..f33b82f8ca7 100644 --- a/libstdc++-v3/testsuite/20_util/move_only_function/version.cc +++ b/libstdc++-v3/testsuite/20_util/move_only_function/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc b/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc index e240b3290e8..13db8252c38 100644 --- a/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc +++ b/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/owner_less/noexcept.cc b/libstdc++-v3/testsuite/20_util/owner_less/noexcept.cc index 63ff479f484..136c2e9fc94 100644 --- a/libstdc++-v3/testsuite/20_util/owner_less/noexcept.cc +++ b/libstdc++-v3/testsuite/20_util/owner_less/noexcept.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/owner_less/void.cc b/libstdc++-v3/testsuite/20_util/owner_less/void.cc index afd7a67c7fc..7bfdfbbaeb7 100644 --- a/libstdc++-v3/testsuite/20_util/owner_less/void.cc +++ b/libstdc++-v3/testsuite/20_util/owner_less/void.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc b/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc index f0a9e22b343..e3ee05a5bcc 100644 --- a/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc +++ b/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target { c++11 && { ! c++23 } } } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc index 23ae0341aad..6534c53727d 100644 --- a/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc +++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator use +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc index 2ae023a0eb9..09c132f645f 100644 --- a/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc +++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator use +// { dg-require-effective-target hosted } // PR libstdc++/69293 diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/construct_pair.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/construct_pair.cc index 72789affd82..ee7b33fa09e 100644 --- a/libstdc++-v3/testsuite/20_util/scoped_allocator/construct_pair.cc +++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/construct_pair.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/dr2586.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/dr2586.cc index 6c32bf9f8f5..b56237f05c5 100644 --- a/libstdc++-v3/testsuite/20_util/scoped_allocator/dr2586.cc +++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/dr2586.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator use +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc index 08f94608e96..e1a4665d799 100644 --- a/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc @@ -1,4 +1,6 @@ // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator use +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc index 9f2d66a8d7d..61470438a31 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc index f819afa7f70..c1bfe0a7e3c 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc index 9f431cdc985..7b83ce8fc62 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc index ced8a67a142..bc54025b5ff 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc index 6e172049130..a65e9b43cc5 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2006-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc index 510eead88ec..8da2f14f759 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/sfinae.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/sfinae.cc index 5f8ef79d441..80419c04a75 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/sfinae.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/sfinae.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc index 9b190cc93b0..f9878e0af05 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc index 5fdd8a850ae..23fed1c8f95 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc index 0cc6fe37b34..beed140719c 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc index 40cffc4aeb2..b5807d8e177 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc index 358dbe8b577..041710f5a3d 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc @@ -17,6 +17,7 @@ // { dg-do run { target c++11 } } // { dg-require-gthreads "" } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc index 307ddd958a5..954582a0eb5 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc @@ -17,6 +17,7 @@ // { dg-do run { target c++11 } } // { dg-require-gthreads "" } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc index a4fd959137f..556b2508578 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2006-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc index e1662476a47..f3fd49502a4 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/reinterpret.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++17 } } +// { dg-require-effective-target hosted } // Copyright (C) 2016-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/rval.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/rval.cc index 0178245c046..ba2b9c14e00 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/rval.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/rval.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2019-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc index 9ebd02c1e8d..5e3978e47c3 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2010-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/86537.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/86537.cc index 79019d9e686..f247e636eb0 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/86537.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/86537.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc index 8faa9eb5998..4a2f41d94a5 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc index 406d3a82c77..89598eda6d3 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc index bde69aeacde..6f165d067d4 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc index 5061e995cc9..bd9e9d8efff 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc index 666564a1f67..c8f816bed84 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc index bce7e331dc1..2c78e879805 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2010-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc index fdd0ec5645e..92a479d7aab 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2010-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc index d16cf40f116..7cc00c9bbd5 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc index 88cc02cd16c..9ebd25a615d 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc index cf80f031c1d..00d75f58277 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc index 9467ffe1764..35a88fc35f0 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc index 4998bbd34f9..ee33865bdb9 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc index c2e568eeaf7..0183c561b9a 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2014-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/79467.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/79467.cc index 09c99d1d8e3..9169285176a 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/79467.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/79467.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/80229.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/80229.cc index a1221a3fa65..e666caa3f1f 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/80229.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/80229.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias-rval.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias-rval.cc index 0186a84f31e..2ae5038b0a7 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias-rval.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias-rval.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2019-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc index 9e5da172475..e7273b753b8 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc index d69d90bd71d..5a4d68cc7ce 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/array.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2016-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc index f8e69206805..79d74dcba0f 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc index 3a33e6ca3c1..19bb8e7e27b 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc index fe5427c4ca6..2a6d43c2f32 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc index 98428b4b8c4..51744013ba7 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/deduction.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc index b23c8f4f42e..c1670acdb56 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg2802.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg2802.cc index 30c7cbf8eff..4f2a2f694e5 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg2802.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg2802.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg3548.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg3548.cc index d6ec7b1d057..6607867f635 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg3548.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/lwg3548.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc index 15fae50bc7b..03de2b0e762 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc index 3339da12fdb..76bc8103501 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // 2011-06-14 Paolo Carlini // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc index 3dc16f51e80..8f6796b9eec 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2010-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc index ee50648ef64..c4ffcff2788 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc index 518e0f52e3e..bc416ca7db8 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc index a50c3059386..11a0967faa6 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2012-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc index 1ebec84246c..ed448f147da 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc index 4d727df733a..7c266eb29ee 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc index 5ef21fe7154..94fc2d230bc 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc index b6e4eb0a952..1852f01e606 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc index 5a9b462af74..e6e225ee135 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc index 84049f409a0..bcc90136dab 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc index 077d981f301..0bac6e16f8f 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc @@ -1,5 +1,6 @@ // { dg-options "-fno-rtti" } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2014-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc index 9bee1daabfc..454e7a622ad 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc index aa4a0ba9418..1b45609dbb3 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/92878_92947.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/92878_92947.cc index c5a34ab9deb..c7298dfcbb8 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/92878_92947.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/92878_92947.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc index 67069a1ec10..df482ba6894 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc @@ -1,4 +1,5 @@ // { dg-do compile { target { c++11 } } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc index 50c4bd62b59..c3da8cfe653 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc index f20a7101458..6092cc99399 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated" } // { dg-add-options using-deprecated } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2010-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc index e34b87baf72..968be24ff18 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc index 611e6cebdd5..71e6aeb0074 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc @@ -1,5 +1,6 @@ // { dg-options "-fno-rtti" } // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2014-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc index f207fdee097..923e909805a 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++20 -fno-lifetime-dse -O0" } // { dg-do run { target c++20 } } +// { dg-require-effective-target hosted } // C++20 20.11.3.7 shared_ptr Creation [util.smartptr.shared.create] diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc index b55cd107e78..7332df30f7b 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation.cc index e73a1f5a093..14dd010c96c 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc index 68328bb37d4..08b8f5ad826 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc @@ -17,6 +17,7 @@ // { dg-options "-fno-rtti" } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc index 0e47f19061d..4dd1b4964a4 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++20" } // { dg-do preprocess { target c++20 } } +// { dg-require-effective-target hosted } // C++20 20.11.3.7 shared_ptr Creation [util.smartptr.shared.create] diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc index fb6abdbff00..322fad903a9 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc index 53b9146e944..bf3024e79af 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // 2010-06-11 Paolo Carlini diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc index b77b505f2ff..921eec3ce74 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc index 7b431be8aa4..744ce12fa41 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc @@ -1,5 +1,6 @@ // { dg-options "-fno-rtti" } // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/get_deleter.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/get_deleter.cc index 1aab13f819c..4789cf3257b 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/get_deleter.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/get_deleter.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc index bb1da527bbb..ca871041fac 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc index 9762ffea987..06184f1f066 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc index bf75591c926..870526b8d4d 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc index 9aa3550d804..b7b2e2e5d28 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc index ad8b1c3dbd1..ebea40a3bc0 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc index c7363dbe1b4..fa50049341d 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc index 6093652cb78..a655372b489 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/array.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2016-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc index 99c38cc4940..54a1b3f763d 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc index 161ffea76d4..59a99a21a71 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc index 651e7a87d19..7c4d0ea9204 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc index 8b3e7a01b1a..083c6540369 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc index 044cf0d679d..f4e82af86b4 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2005-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc index b226b318898..48563aeafcf 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2006-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc index cc67b555468..fa6b7f31b94 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc index 6c4e4b1c760..48efae21acf 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/construct_at/95788.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/construct_at/95788.cc index 5f70b6cc514..8fd7acc60b3 100644 --- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/construct_at/95788.cc +++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/construct_at/95788.cc @@ -17,6 +17,8 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/temporary_buffer.cc b/libstdc++-v3/testsuite/20_util/temporary_buffer.cc index 54b0edb00ee..3d414adb76e 100644 --- a/libstdc++-v3/testsuite/20_util/temporary_buffer.cc +++ b/libstdc++-v3/testsuite/20_util/temporary_buffer.cc @@ -19,6 +19,8 @@ // 20.4.3 temporary buffers +// { dg-require-effective-target hosted } + #include #include diff --git a/libstdc++-v3/testsuite/20_util/tuple/48476.cc b/libstdc++-v3/testsuite/20_util/tuple/48476.cc index 32ece32f513..ec312470ab1 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/48476.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/48476.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/90700.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/90700.cc index 274cc3a558c..38615d85aea 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/90700.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/90700.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/96803.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/96803.cc index 6441f8d5ba0..7b4916bae14 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/96803.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/96803.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/allocator_with_any.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/allocator_with_any.cc index 0fa1ad76c23..7924a9226db 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/allocator_with_any.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/allocator_with_any.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++14 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } // Copyright (C) 2016-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc index 74c1d68accf..9d2d9094d5e 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc @@ -1,4 +1,6 @@ // { dg-do run { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc index 24be893c642..c49c9ffaafa 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc @@ -1,5 +1,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } // // Copyright (C) 2019-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc index c0ea6f8d197..998dd75fcda 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc @@ -1,4 +1,6 @@ // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } // Copyright (C) 2015-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc b/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc index 80fc23cf9d4..04ac27358eb 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc @@ -1,6 +1,8 @@ // Verify P2321R2 "zip" enhancements to std::tuple. // { dg-options "-std=gnu++23" } // { dg-do run { target c++23 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/92878_92947.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/92878_92947.cc index b850d24e8d0..40c8f5703ba 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/92878_92947.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/92878_92947.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc index b18fafc43fc..3e840520e51 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++14 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc index 1ab36a537cb..6fcf8c205cf 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++14 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/constexpr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/constexpr.cc index 90d11198578..f673342cb16 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/constexpr.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc index f736c762a43..65b5758b2ab 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc @@ -1,6 +1,7 @@ // { dg-options "-std=gnu++20 -fno-lifetime-dse -O0" } // { dg-do run { target c++2a } } // { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc index 654855822c0..5fbed70c69c 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++20" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc index 9d7108d83b5..a53efe0f9f8 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++14 } } +// { dg-require-effective-target hosted } // Copyright (C) 2013-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc index 8a41e4ea654..9c4ea3e0ac3 100644 --- a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc +++ b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// FIXME [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } // PR libstdc++/69293 diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/92878_92947.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/92878_92947.cc index ca7d1119ee5..73c5b7beada 100644 --- a/libstdc++-v3/testsuite/20_util/uses_allocator/92878_92947.cc +++ b/libstdc++-v3/testsuite/20_util/uses_allocator/92878_92947.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/uninitialized_construct.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/uninitialized_construct.cc index f403cbe99cc..06e850f4997 100644 --- a/libstdc++-v3/testsuite/20_util/uses_allocator/uninitialized_construct.cc +++ b/libstdc++-v3/testsuite/20_util/uses_allocator/uninitialized_construct.cc @@ -1,5 +1,7 @@ // { dg-options "-std=gnu++20" } // { dg-do compile { target c++20 } } +// TODO [!HOSTED]: avoidable std::allocator usage +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc index a729847c96c..bc41f001728 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc index b9902763ebd..03f2a44b9eb 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/deduction.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc index 0ee3efcb2bc..c3ba8926569 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // 2011-06-14 Paolo Carlini // diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc index 92250a19991..20e0503e27e 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc @@ -23,6 +23,7 @@ #include // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } int main() { diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc index 723f0b4da73..6008dca5233 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2008-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc index 0d8165a34f5..19c97565d71 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2006-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc index 461415e8bae..df1cdb3a9a3 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/version.cc b/libstdc++-v3/testsuite/21_strings/basic_string/version.cc index a99bb179a93..865b17905ff 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/version.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/version.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc index c106a553f40..3501006150b 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// { dg-require-effective-target hosted } // Copyright (C) 2021-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/69626.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/69626.cc index 7710ee61657..1d10d019824 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/char/69626.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/69626.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++98" } // { dg-do compile { target *-*-linux-gnu } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc index 6f571f48010..908163a2635 100644 --- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc +++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc index c85e060f048..4c69d145dc5 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++20" } // { dg-do preprocess { target c++20 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc index 3a3208ab485..241ab21142b 100644 --- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 2001-06-21 Benjamin Kosnik // Copyright (C) 2001-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc index 7fd4932947a..f7fa5b17ca3 100644 --- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 2001-06-21 Benjamin Kosnik // Copyright (C) 2001-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc index eafb6b24f99..7270ce0fac3 100644 --- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 2001-06-21 Benjamin Kosnik // Copyright (C) 2001-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc index a3d39528382..283ffaf4500 100644 --- a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 2001-06-25 Benjamin Kosnik // Copyright (C) 2001-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/92285.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/92285.cc index 07f46a99ed3..f4167b604dd 100644 --- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/92285.cc +++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/92285.cc @@ -15,6 +15,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + #include #include #include diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc index 17c826ee305..1cf8e6df4c2 100644 --- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc +++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc index 3540362d56e..a6625b4a8dd 100644 --- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 1999-06-28 bkoz // Copyright (C) 1999-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc index 4193ccd4e12..5f3df97c4be 100644 --- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc +++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // Copyright (C) 2011-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc index a979ac9f95f..f32de1efe97 100644 --- a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 2001-06-25 Benjamin Kosnik // Copyright (C) 2001-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc index c7cfd805a84..27aacc85b8d 100644 --- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc +++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-require-effective-target hosted } + // 2001-04-30 Benjamin Kosnik // Copyright (C) 2001-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc b/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc index 5f11d90d29c..edaaf717726 100644 --- a/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc +++ b/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/constrained.cc b/libstdc++-v3/testsuite/25_algorithms/equal/constrained.cc index cab35525c2d..33571fe6a9c 100644 --- a/libstdc++-v3/testsuite/25_algorithms/equal/constrained.cc +++ b/libstdc++-v3/testsuite/25_algorithms/equal/constrained.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc index b698eab3e1f..02d92785892 100644 --- a/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc +++ b/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc @@ -1,4 +1,5 @@ // { dg-do compile } +// { dg-require-effective-target hosted } // Copyright (C) 2007-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc index e518f5703da..a6cbc1abe0f 100644 --- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc +++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc @@ -17,6 +17,9 @@ // 25.3.4 [lib.alg.merge] +// requires malloc/free. +// { dg-require-effective-target hosted } + #include #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constrained.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constrained.cc index ef904e65d68..02ce4e30f6a 100644 --- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constrained.cc +++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constrained.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/make_heap/movable.cc b/libstdc++-v3/testsuite/25_algorithms/make_heap/movable.cc index bd115469eb0..d0d8882ab92 100644 --- a/libstdc++-v3/testsuite/25_algorithms/make_heap/movable.cc +++ b/libstdc++-v3/testsuite/25_algorithms/make_heap/movable.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc index 2e85b92e364..1a5724edb46 100644 --- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc +++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc @@ -16,6 +16,7 @@ // . // { dg-do preprocess { target c++17 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc index fd1f5eb0717..8c2450d8783 100644 --- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc +++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc @@ -16,6 +16,7 @@ // . // { dg-add-options using-deprecated } +// { dg-require-effective-target hosted } // 25.2.11 random_shuffle() diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc index d72906828d0..82389984e79 100644 --- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc +++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++11 } } // { dg-add-options using-deprecated } +// { dg-require-effective-target hosted } // Copyright (C) 2009-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc index b3c7f0c01f0..63701d9d7cd 100644 --- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc @@ -1,6 +1,7 @@ // { dg-options "-Wno-deprecated-declarations" } // { dg-do compile } // { dg-add-options using-deprecated } +// { dg-require-effective-target hosted } // 2007-09-20 Benjamin Kosnik diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc b/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc index a3176bca207..40579c5ef20 100644 --- a/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc +++ b/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc @@ -15,6 +15,9 @@ // with this library; see the file COPYING3. If not see // . +// Transitively includes string related bits. +// { dg-require-effective-target hosted } + #include #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc index 6c089e472ae..afa525a0763 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc @@ -17,6 +17,9 @@ // 25.2.12 [lib.alg.partitions] Partitions. +// std::stable_partition is not freestanding. +// { dg-require-effective-target hosted } + #include #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/constrained.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/constrained.cc index c4c1d5360ec..bec0a8a6559 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/constrained.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/constrained.cc @@ -18,6 +18,9 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// std::stable_partition is not freestanding. +// { dg-require-effective-target hosted } + #include #include #include diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc index 2e21e35e23c..8c44acc67d2 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc @@ -15,6 +15,9 @@ // with this library; see the file COPYING3. If not see // . +// std::stable_partition is not freestanding. +// { dg-require-effective-target hosted } + // 25.2.12 [lib.alg.partitions] Partitions. #include diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc index 9747092929e..02792a3a87b 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc @@ -17,6 +17,9 @@ // with this library; see the file COPYING3. If not see // . +// std::stable_partition is not freestanding. +// { dg-require-effective-target hosted } + // 25.2.12 [lib.alg.partitions] Partitions. #include diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc index f2e4419f2ff..75d14b8f710 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc @@ -1,5 +1,6 @@ // { dg-options "-Wno-deprecated-declarations" } // { dg-do compile } +// { dg-require-effective-target hosted } // 2007-09-20 Benjamin Kosnik diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc index e4e098001de..3326b17a76d 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc @@ -1,6 +1,9 @@ // { dg-options "-Wno-deprecated-declarations" } // { dg-do compile } +// std::stable_partition is not freestanding. +// { dg-require-effective-target hosted } + // 2007-09-20 Benjamin Kosnik // Copyright (C) 2007-2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc index f9042eecfd5..8f712bfa2a1 100644 --- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc +++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc @@ -17,6 +17,9 @@ // 25.3.1.2 [lib.stable.sort] +// testsuite_new_operators.h requires malloc/free. +// { dg-require-effective-target hosted } + #include #include #include diff --git a/libstdc++-v3/testsuite/26_numerics/complex/2.cc b/libstdc++-v3/testsuite/26_numerics/complex/2.cc index ff76a40ec0f..fed1d90ad2a 100644 --- a/libstdc++-v3/testsuite/26_numerics/complex/2.cc +++ b/libstdc++-v3/testsuite/26_numerics/complex/2.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do preprocess { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc index 21116484783..4410aeac8ea 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc @@ -15,6 +15,8 @@ // with this library; see the file COPYING3. If not see // . +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc index 8dd5b879a31..f140c315ef7 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc @@ -17,6 +17,9 @@ // with this library; see the file COPYING3. If not see // . +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } + // 17.4.1.2 Headers, cstdlib #include diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc index 5de912caae9..fe9bc8eb206 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-require-effective-target hosted } // PR libstdc++/60401 diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192.cc index a7a5efa0ec2..6e93f085d4c 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192.cc @@ -16,6 +16,8 @@ // . // { dg-do compile { target c++11 } } +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } // NB: Don't include any other headers in this file. // LWG 2192 requires to declare overloads for floating point types. diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc index 02f234ad8f4..e7058620671 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc @@ -17,6 +17,9 @@ // { dg-do compile { target c++11 } } +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } + // NB: Don't include any other headers in this file. // LWG 2192 requires abs to be ill-formed for unsigned arguments. #include diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2735.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2735.cc index fb1c002e433..93e9784049a 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2735.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2735.cc @@ -16,6 +16,7 @@ // . // { dg-do compile } +// { dg-require-effective-target hosted } // NB: Don't include any other headers in this file. // LWG 2735. std::abs(short), std::abs(signed char) and others should return diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc index af28adf0b76..35b389d3297 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc @@ -1,5 +1,8 @@ // { dg-do compile } +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } + // Copyright (C) 2007-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc index b4e2cd467de..a6c18544cc6 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc @@ -1,5 +1,8 @@ // { dg-do compile } +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } + // Copyright (C) 2007-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc index 6992a2b9190..bd1f5b468cb 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc @@ -1,5 +1,8 @@ // { dg-do compile } +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } + // Copyright (C) 2007-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc index e4db20dea8c..904d404efa8 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc @@ -1,5 +1,8 @@ // { dg-do compile { target c++11 } } +// Math-related cstdlib bits are not freestanding. +// { dg-require-effective-target hosted } + // Copyright (C) 2007-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/26_numerics/lerp/version.cc b/libstdc++-v3/testsuite/26_numerics/lerp/version.cc index 3ccb032bc67..c19ead7586d 100644 --- a/libstdc++-v3/testsuite/26_numerics/lerp/version.cc +++ b/libstdc++-v3/testsuite/26_numerics/lerp/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do preprocess { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc b/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc index 3ccb032bc67..c19ead7586d 100644 --- a/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc +++ b/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++2a" } // { dg-do preprocess { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc b/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc index ef390a62e74..b88969f1548 100644 --- a/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } // { dg-require-effective-target cxx11_abi } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc index ef390a62e74..b88969f1548 100644 --- a/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } // { dg-require-effective-target cxx11_abi } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc index 661489806f8..17cfbd1bd50 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc @@ -20,6 +20,7 @@ // 27.4.3 fpos // { dg-do compile } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc index c3a150e25a8..924809ce789 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + // 27.4.3 fpos #include diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc index 00c812d01c9..3dc2bfdfe5a 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + // 27.4.3 fpos #include diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc index df847622eb2..c920f72f4f1 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-require-effective-target hosted } + // 27.4.3 fpos #include diff --git a/libstdc++-v3/testsuite/27_io/spanstream/version.cc b/libstdc++-v3/testsuite/27_io/spanstream/version.cc index 62617550493..26077c94630 100644 --- a/libstdc++-v3/testsuite/27_io/spanstream/version.cc +++ b/libstdc++-v3/testsuite/27_io/spanstream/version.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc b/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc index d2ff6cf9fe3..ba289e197dc 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc @@ -1,4 +1,8 @@ // { dg-do compile { target c++11 } } + +// std::shared_ptr is not freestanding. +// { dg-require-effective-target hosted } + // DR 3220. P0558 broke conforming C++14 uses of atomic shared_ptr #include diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc index 61b0a54e2e1..2e6037fd723 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc @@ -1,6 +1,9 @@ // { dg-do run { target c++11 } } // { dg-require-atomic-builtins "" } +// std::abs from is not freestanding. +// { dg-require-effective-target hosted } + // Copyright (C) 2012-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc index 9d22835a9ca..db12f685808 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } // { dg-require-effective-target gthreads } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/102994.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/102994.cc index f572ce7ef11..72d9a924ea1 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/102994.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/102994.cc @@ -1,6 +1,7 @@ // { dg-options "-std=gnu++20" } // { dg-do compile { target c++20 } } // { dg-require-gthreads "" } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc index 88a779c3ada..9eacc91e501 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } // { dg-require-effective-target gthreads } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc index dbaf6bc59d3..ab74fe60934 100644 --- a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc +++ b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc @@ -1,6 +1,9 @@ // { dg-options "-std=gnu++23" } // { dg-do preprocess { target c++23 } } +// is not freestanding. +// { dg-require-effective-target hosted } + #include #ifndef __cpp_lib_stdatomic_h diff --git a/libstdc++-v3/testsuite/30_threads/barrier/2.cc b/libstdc++-v3/testsuite/30_threads/barrier/2.cc index ef4049a7402..313a5677635 100644 --- a/libstdc++-v3/testsuite/30_threads/barrier/2.cc +++ b/libstdc++-v3/testsuite/30_threads/barrier/2.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } // { dg-require-effective-target gthreads } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc index 231b0e83d93..3c7ff40914f 100644 --- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc +++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/30_threads/jthread/version.cc b/libstdc++-v3/testsuite/30_threads/jthread/version.cc index e17031b47d3..06210358aad 100644 --- a/libstdc++-v3/testsuite/30_threads/jthread/version.cc +++ b/libstdc++-v3/testsuite/30_threads/jthread/version.cc @@ -18,6 +18,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } // { dg-require-gthreads "" } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/30_threads/latch/2.cc b/libstdc++-v3/testsuite/30_threads/latch/2.cc index ac7fce0f3f8..27a591fe7c4 100644 --- a/libstdc++-v3/testsuite/30_threads/latch/2.cc +++ b/libstdc++-v3/testsuite/30_threads/latch/2.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/30_threads/semaphore/2.cc b/libstdc++-v3/testsuite/30_threads/semaphore/2.cc index ab89ecd4ffe..41a042f2936 100644 --- a/libstdc++-v3/testsuite/30_threads/semaphore/2.cc +++ b/libstdc++-v3/testsuite/30_threads/semaphore/2.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/30_threads/stop_token/2.cc b/libstdc++-v3/testsuite/30_threads/stop_token/2.cc index 231b0e83d93..3c7ff40914f 100644 --- a/libstdc++-v3/testsuite/30_threads/stop_token/2.cc +++ b/libstdc++-v3/testsuite/30_threads/stop_token/2.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include diff --git a/libstdc++-v3/testsuite/abi/pr42230.cc b/libstdc++-v3/testsuite/abi/pr42230.cc index 48156e4ba18..e10803c6040 100644 --- a/libstdc++-v3/testsuite/abi/pr42230.cc +++ b/libstdc++-v3/testsuite/abi/pr42230.cc @@ -1,4 +1,5 @@ // { dg-do run } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/ext/shared_ptr/1.cc b/libstdc++-v3/testsuite/ext/shared_ptr/1.cc index 4ea932b05e1..45723fb5d6e 100644 --- a/libstdc++-v3/testsuite/ext/shared_ptr/1.cc +++ b/libstdc++-v3/testsuite/ext/shared_ptr/1.cc @@ -16,6 +16,7 @@ // . // { dg-do run { target c++11 } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split_neg.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split_neg.cc index bbc77707e06..a9c95981493 100644 --- a/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split_neg.cc +++ b/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split_neg.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/p1739.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/p1739.cc index 3e51aa01796..a1e66738789 100644 --- a/libstdc++-v3/testsuite/std/ranges/adaptors/p1739.cc +++ b/libstdc++-v3/testsuite/std/ranges/adaptors/p1739.cc @@ -1,8 +1,10 @@ // { dg-options "-std=gnu++20" } // { dg-do run { target c++20 } } +// { dg-require-effective-target hosted } #include #include +#include #include // Verify P1739R4 (and LWG 3407) changes to views::take/drop/counted. diff --git a/libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc b/libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc index a6c73813804..435c6098bc2 100644 --- a/libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc +++ b/libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do compile { target c++2a } } +// { dg-require-effective-target hosted } #include #include diff --git a/libstdc++-v3/testsuite/std/ranges/p2325.cc b/libstdc++-v3/testsuite/std/ranges/p2325.cc index d2ebe9af863..accd2655b95 100644 --- a/libstdc++-v3/testsuite/std/ranges/p2325.cc +++ b/libstdc++-v3/testsuite/std/ranges/p2325.cc @@ -1,5 +1,6 @@ // { dg-options "-std=gnu++20" } // { dg-do compile { target c++20 } } +// { dg-require-effective-target hosted } // P2325R3 "Views should not be required to be default constructible" #include