From patchwork Tue Oct 15 18:05:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Palka X-Patchwork-Id: 1997599 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=XP2krq5k; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XShqB0V5kz1xv6 for ; Wed, 16 Oct 2024 05:05:58 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 377E13858C32 for ; Tue, 15 Oct 2024 18:05:56 +0000 (GMT) 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.129.124]) by sourceware.org (Postfix) with ESMTP id 7346E3858C32 for ; Tue, 15 Oct 2024 18:05:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7346E3858C32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7346E3858C32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729015534; cv=none; b=pXoWd32AIAB0OVjt4EsQxVSlCkCi60SMVIk3QXNR4IUqNUSangEbzEGQ87GRHXg5enDPbTM/c8GSvE7Ssza9+ujeVBLc3A+7wWMcRMzt8KwiCdODTwPQzw8XIl4iXB1vBii3iH3Wmpt0trqCA2QPasA4akkxrrRHp25D+BqxQao= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729015534; c=relaxed/simple; bh=p6jHgCH2yfFo8LJPWcdAjg1ZvEW3pfbZ2BUYJGXl/l8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=qTgQ7Ie8cRxxusSU+o5ujbXXU56v9sySH0C/SopOAeVwQG2aGVOOF+z//Rfn3Z/8/Wm73nmV6KPF6d2H57URjGKHxr7QovP+mECLdHJfY4rA7mIigpsTn2p9fO+YXe2To1yt4bK3/hQI9SwBJFkJXpnu+OkX64545FMJmKoZIVo= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1729015531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hi52CLbtpsy3mk6iLnxQqNoqOaTif5VRv3rNkHyuCoo=; b=XP2krq5kjUSbibx+loaWiDdVCZmEAvp8q76JrzbUu+r7Eg2wuWJsyb8wIijCwAfxSbR8H1 obyTt2+4FmFSoQEbUa8wHIiB6cM1TZMjKkln2ZetjFWRfo5CztQ+T1K4S2H87cmmka/M+x Uz8qVul1kNPnT8fnJyNeJHOIuYRamVk= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-81-jR8cexAAMkGJQMpTpz3xeg-1; Tue, 15 Oct 2024 14:05:30 -0400 X-MC-Unique: jR8cexAAMkGJQMpTpz3xeg-1 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7b13fbc3d6eso9544385a.2 for ; Tue, 15 Oct 2024 11:05:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729015528; x=1729620328; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Hi52CLbtpsy3mk6iLnxQqNoqOaTif5VRv3rNkHyuCoo=; b=QOF2a9T/dm5P8o+2fPZsXUN4lKpGm1rTrbeJJwyatDZFBvLznoCZ0HcePniAc0gZMy XJomwTauDBJgJOV3CGi66ydsE5C+aJ3ETMWU2jRAjiU4RydqINGJTExUgGQ3Gr0RbRD8 bVw/y77UxvCSqckLkEu15iFsegzLeX+pyctiwiVstQs5gZsbHUj7kHZAu/neH7S7Ele6 uULMvlj5OqAUPSsN3NQFBXigWYsjPa7E1QF/G/W7zKtIVbR6hOL4gxR61LuTIbq1ehDt uD3KmX8UPA/rvou/7e+s1cOrWl5keCy3ZRHlPXwUyicfKGsAhII6f6M0IW/1fzcnGtue f/Gg== X-Gm-Message-State: AOJu0Yx5ekCep5wDNNkwh1vY/KstnNmnWlppRk9TLfETIZ4EA3lps0Yr Sj1rK73lIZ9N5wX/FCIz6rrYDp91a2OeB8FpcRaPcBRZCuZsCKTENPsMD/s9g6fSlzbHsCmUIMT /suUO7ubNlzQMgRMINKZSguCkEequo+IXG1Z2jEcm6nSzOOI1aygLj8UDwp1xV1a2dh3He7QJGx o1Xrb19AJ11BQESJFiOMSeyR/E40WDN2BleWf8 X-Received: by 2002:a05:622a:4cd:b0:458:216f:96dd with SMTP id d75a77b69052e-4604bb944bcmr105841981cf.1.1729015528447; Tue, 15 Oct 2024 11:05:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFG0BuhB/NjuugBw7xbvHJTec1Z5VabQ0EdErH9GN+BMyWo0MTL2e3oFtMOOOL3UCgXXZfEvQ== X-Received: by 2002:a05:622a:4cd:b0:458:216f:96dd with SMTP id d75a77b69052e-4604bb944bcmr105841591cf.1.1729015527665; Tue, 15 Oct 2024 11:05:27 -0700 (PDT) Received: from localhost.localdomain (ool-18bb2a2e.dyn.optonline.net. [24.187.42.46]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4607b119f59sm9256701cf.47.2024.10.15.11.05.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Oct 2024 11:05:27 -0700 (PDT) From: Patrick Palka To: gcc-patches@gcc.gnu.org Cc: jason@redhat.com, Patrick Palka Subject: [PATCH] doc: remove outdated C++ Concepts section Date: Tue, 15 Oct 2024 14:05:24 -0400 Message-ID: <20241015180524.1857285-1-ppalka@redhat.com> X-Mailer: git-send-email 2.47.0.72.gef8ce8f3d4 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-13.5 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, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org This was added as part of the initial Concepts TS implementation and reflects an early version of the Concepts TS paper, which is very different from standard C++20 concepts (and even from more recent versions of the Concepts TS, support for which we deprecated in GCC 14 and removed for GCC 15). So there's not much to salvage from this section besides the __is_same trait documentation which we can conveniently move to the previous Type Traits section. gcc/ChangeLog: * doc/extend.texi (C++ Concepts): Remove section. Move __is_same documentation to the previous Type Traits section. --- gcc/doc/extend.texi | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 302c3299ede..c1ab526e871 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -29213,7 +29213,6 @@ Predefined Macros,cpp,The GNU C Preprocessor}). * C++ Attributes:: Variable, function, and type attributes for C++ only. * Function Multiversioning:: Declaring multiple function versions. * Type Traits:: Compiler support for type traits. -* C++ Concepts:: Improved support for generic programming. * Deprecated Features:: Things will disappear from G++. * Backwards Compatibility:: Compatibilities with earlier definitions of C++. @end menu @@ -30090,49 +30089,6 @@ from @code{0} to @code{@var{length}-1}. This is provided for efficient implementation of @code{std::make_integer_sequence}. @enddefbuiltin - -@node C++ Concepts -@section C++ Concepts - -C++ concepts provide much-improved support for generic programming. In -particular, they allow the specification of constraints on template arguments. -The constraints are used to extend the usual overloading and partial -specialization capabilities of the language, allowing generic data structures -and algorithms to be ``refined'' based on their properties rather than their -type names. - -The following keywords are reserved for concepts. - -@table @code -@kindex assumes -@item assumes -States an expression as an assumption, and if possible, verifies that the -assumption is valid. For example, @code{assume(n > 0)}. - -@kindex axiom -@item axiom -Introduces an axiom definition. Axioms introduce requirements on values. - -@kindex forall -@item forall -Introduces a universally quantified object in an axiom. For example, -@code{forall (int n) n + 0 == n}. - -@kindex concept -@item concept -Introduces a concept definition. Concepts are sets of syntactic and semantic -requirements on types and their values. - -@kindex requires -@item requires -Introduces constraints on template arguments or requirements for a member -function of a class template. -@end table - -The front end also exposes a number of internal mechanism that can be used -to simplify the writing of type traits. Note that some of these traits are -likely to be removed in the future. - @defbuiltin{bool __is_same (@var{type1}, @var{type2})} A binary type trait: @code{true} whenever the @var{type1} and @var{type2} refer to the same type.