From patchwork Wed May 31 12:23:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 101409 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2839561vqr; Wed, 31 May 2023 05:27:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4jcQciiq0Tw7m5fok0muBzxoQsREYdWXq3K+/ZxenhVXFwyoElAds6gLumgWNmqbSQndFn X-Received: by 2002:a17:907:60c9:b0:961:800b:3f1e with SMTP id hv9-20020a17090760c900b00961800b3f1emr5155593ejc.73.1685536061628; Wed, 31 May 2023 05:27:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685536061; cv=none; d=google.com; s=arc-20160816; b=O+ngyInat5NKj7fgECSYqOewxnRIBAU0pcMxSCKTq6OIKBNfroiTaBjKUfQEPZ3Tlo tx/z63HVEkEPHwQ9Qr7D+ePOI3XRGAAfczPLuD+tB6Fd0A2J5AH82CZRJKkpLvw0ZOPY Q3+thQ6zYcu0xcp2dcKJ6DwCCIMTQwrD409uWAeVmSywr3Qx71PNetnhapOqcQRV878v GIccwCvxqZJx1us2fEpjdYx9kpQSTbe2L8dZwIOxd45BCuRtdm3h41ixV2wplfce+mJ1 BPaocddBggwTyJHkc2ZeTV6hkvfRYeJ802LlFY8JVz7oVvRpp659+QAaeua50vOm85Cq 9htA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:message-id:date:subject:to :dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=Hr62IJOnoWdK2uQiipC0XuXLSaYI3RNo6GXuq7fdSoU=; b=FwPIBz3dPgvtgJyMDoLlE0dsn8k1yqYrZh96sXrVe519tBEavmOUzLlqPgmG959E7N /nQNcd5F0lfqcEp+D0YwM8Get1j4kNgCmKUVfdXuvlmqukfNKB0SrcquTj1mHa8x1dtM 3LXd78FHHiNYR8UmlWyulIoGGjncWEAQtN2/oq2qdoL0AUaOzwvj8XyXVfxKZDfzoIDG iZxgjY7uf6VUO0SXJW6WBweJcfOKeiwdeTj81e9S9J+4+WgzLxGUs3lneLBuaYrKc4eb MsTaNX4R2lPwOe7qzDWzzXOb3XNSXryZhHrcBjQsmzm0VMef4zDwa0/tNCPjUKkTOEUv 6WwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=oKQuBToA; 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 e24-20020a056402089800b00514b37ff886si2096995edy.512.2023.05.31.05.27.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 05:27:41 -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=oKQuBToA; 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 8B7AC383D396 for ; Wed, 31 May 2023 12:24:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8B7AC383D396 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1685535875; bh=Hr62IJOnoWdK2uQiipC0XuXLSaYI3RNo6GXuq7fdSoU=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=oKQuBToA8Iaeyw7nv+cp//JOK1jqS+65DXNC2xJbMkcSkk7Kp730rOCKS2khZz0kv BLy7t4IjGQQjT13zHxvN3Fe6+eFRjVVcbuBulSEDNsVPYBurqI+GDxDUnq6hSuhMXj nx3pwClUW+wa/ZkCYq9uMt2fZWJ01sXFlCjYJK40= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id AC9093853D22 for ; Wed, 31 May 2023 12:23:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AC9093853D22 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-100-3gWcCOd_PviyS_Sj6T-mVw-1; Wed, 31 May 2023 08:23:05 -0400 X-MC-Unique: 3gWcCOd_PviyS_Sj6T-mVw-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D7D061C06ECA; Wed, 31 May 2023 12:23:04 +0000 (UTC) Received: from localhost (unknown [10.42.28.139]) by smtp.corp.redhat.com (Postfix) with ESMTP id 80D78C154D7; Wed, 31 May 2023 12:23:04 +0000 (UTC) To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Do not include in Date: Wed, 31 May 2023 13:23:03 +0100 Message-Id: <20230531122303.4117519-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=unavailable 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: Jonathan Wakely via Gcc-patches From: Jonathan Wakely Reply-To: Jonathan Wakely 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?1767412661423478395?= X-GMAIL-MSGID: =?utf-8?q?1767412661423478395?= Tested powerpc64le-linux. Pushed to trunk. -- >8 -- We previously needed in for the std::lock_error exception class, but that was moved out of in 2009 when it was removed from the C++0x draft. We can stop including now. Move the include for to where it's actually used, and only include in (for EAGAIN and EDEADLK). Also add some headers to that are needed but are not included directly: , and . libstdc++-v3/ChangeLog: * include/bits/unique_lock.h: Include here for std::errc constants. * include/std/mutex: Do not include and here. --- libstdc++-v3/include/bits/unique_lock.h | 1 + libstdc++-v3/include/std/mutex | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/include/bits/unique_lock.h b/libstdc++-v3/include/bits/unique_lock.h index f14674ed471..c28e6456ad5 100644 --- a/libstdc++-v3/include/bits/unique_lock.h +++ b/libstdc++-v3/include/bits/unique_lock.h @@ -37,6 +37,7 @@ #else #include +#include // for std::errc #include // for std::swap #include // for std::defer_lock_t diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index 79420388abc..2b0059fcfe8 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -37,11 +37,13 @@ # include #else -#include -#include -#include -#include -#include +#include // std::tuple +#include // is_same_v +#include // EAGAIN, EDEADLK +#include // duration, time_point, is_clock_v +#include // __throw_system_error +#include // __invoke +#include // std::forward #include #include #if ! _GTHREAD_USE_MUTEX_TIMEDLOCK