From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com [IPv6:2607:f8b0:4864:20::333]) by sourceware.org (Postfix) with ESMTPS id B2F6B3858D1E for ; Sat, 2 Mar 2024 16:00:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B2F6B3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cs.washington.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cs.washington.edu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B2F6B3858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::333 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709395213; cv=none; b=s+xmsWjDEFLgo2gAwOxXUzjviUdYlXXBLUjuThpSoYBAW/iWo+dAqsEf7Ynavlvnd4nhPtBwoO9HNMo1CfgExlkjLg4ywukzaTDiB2HbA7UgEKWL66uP9hS5xLGFRImBQoBjgp18QORdmwUqMiH7IFc3d6RJr3UHIrAfxxlOACo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709395213; c=relaxed/simple; bh=zhRwbj6DlA0ADANqt0ArxALA0AFz18C9Bt9ZNtpPW6w=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=bl57Nh5Wy1hEeiYHKFU5qIakzEvv0inATQNyg8kQUQY2EsSHvGVmT0m0DsjBz/stff7Vt2VVnba7I7G3QC7FJeEBtwq+3I6niastCKmN4cdIJK26yTJzGuFfodk1NRGHspnDfETJT4QTf9sOM99nNMTWEhTHXLDAqPVSC0Jgp60= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ot1-x333.google.com with SMTP id 46e09a7af769-6e47a9f4b70so1722185a34.1 for ; Sat, 02 Mar 2024 08:00:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.washington.edu; s=goo201206; t=1709395210; x=1710000010; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=wyvm6xMi+jQmSFaOvWCVk5X7tQKM6uhGZIF0e4uTtjA=; b=KQkueUTQG01l2kl+sfn7dFT+ujHbKN5EZN0DzQms58Lg8smb9+CA95bAYkXFjGsy62 N5MqJ45Zy+EdYllUFTd9BpeTFOAYCrZ1urM5CHdrWU93suGSBQaS/Y61tYRd70ouc8pj cUK2VNNaaJLNCh3Z4EbcdXuTTjqnnr2S/aRx8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709395210; x=1710000010; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wyvm6xMi+jQmSFaOvWCVk5X7tQKM6uhGZIF0e4uTtjA=; b=gC0eQg7yRU6/1Vt+uUOBorcsQudf2rLLM6Hj8dDHmgedZYa935poFPG9WN8Ad2e9MK YfGzXRMD6I+3XdEWi1A83D4yCllbjmXNs/ht+ZthIx24fqw23U2BiQOrKBO8OVklXxIF axmFoD8+1fiOWpMhNAY+pxrEF0Lkl4DecuHEgyJ9wGX7EX2DvKUWKML8UvCBB9LAHUlC o0bb/UG/9wRJJxbWgakZ5TAj2QiVRa9ZQxAx/r0sczWVem0pBti91iepF2r+9AdhQ++j OdL1Le5PTlaCR9diIOvQ8wROmeGxVKJGXuZrKSHaT7MT/xxmceQ9EM3AeaqziOdFVRGg KbfA== X-Gm-Message-State: AOJu0YxCRSOiutaEADjTlKZ6uPbMZ+N7J3j3AR7Glt7OO0TNttc4yCb6 RbnsQ2acCxwl48L1Knn8MyqMYgKqG7xGpAjHLyrECw3/lt7cQtWVZQhyVcwhkzrOPQEySJew8VH oT3U+v+wySF6IUbw3vlk2nIpWJ3nPEDkHGbYa X-Google-Smtp-Source: AGHT+IEoQKz3IXb41UyJe5oVOPXGwHFqN8qyWYbiB8lJjfWzCq1PyjzFa/vEph87bqnIuOWvhpqx3mS/6sOTWErtHJ4= X-Received: by 2002:a05:6870:f297:b0:21f:662:e01 with SMTP id u23-20020a056870f29700b0021f06620e01mr4291827oap.56.1709395209787; Sat, 02 Mar 2024 08:00:09 -0800 (PST) MIME-Version: 1.0 References: <20240302002229.308001-1-kmatsui@gcc.gnu.org> In-Reply-To: <20240302002229.308001-1-kmatsui@gcc.gnu.org> From: Ken Matsui Date: Sat, 2 Mar 2024 08:00:00 -0800 Message-ID: Subject: Re: [PATCH 01/11] gcc/doc/extend.texi: Sort built-in traits alphabetically To: Ken Matsui Cc: gcc-patches@gcc.gnu.org, W Brown Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Dr. Brown, Sorry for forgetting to CC you. Could you please review my patch series when you get a chance? This patch series adds documentation only for built-ins I implemented. To minimize git conflicts, I will add documentation updates to my existing patches after this patch series gets merged. After that, I will try to add documentation to missing built-ins that I did not implement. Thank you! Sincerely, Ken Matsui On Fri, Mar 1, 2024 at 4:23=E2=80=AFPM Ken Matsui wro= te: > > This patch sorts built-in traits alphabetically for better codebase > consistency and easier future integration of changes. > > gcc/ChangeLog: > > * doc/extend.texi (Type Traits): Sort built-in traits > alphabetically. > > Signed-off-by: Ken Matsui > --- > gcc/doc/extend.texi | 62 ++++++++++++++++++++++----------------------- > 1 file changed, 31 insertions(+), 31 deletions(-) > > diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi > index f679c81acf2..b13f9d6f934 100644 > --- a/gcc/doc/extend.texi > +++ b/gcc/doc/extend.texi > @@ -29499,15 +29499,6 @@ Requires: @var{type} shall be a complete type, (= possibly cv-qualified) > @code{void}, or an array of unknown bound. > @enddefbuiltin > > -@defbuiltin{bool __has_nothrow_copy (@var{type})} > -If @code{__has_trivial_copy (type)} is @code{true} then the trait is > -@code{true}, else if @var{type} is a cv-qualified class or union type > -with copy constructors that are known not to throw an exception then > -the trait is @code{true}, else it is @code{false}. > -Requires: @var{type} shall be a complete type, (possibly cv-qualified) > -@code{void}, or an array of unknown bound. > -@enddefbuiltin > - > @defbuiltin{bool __has_nothrow_constructor (@var{type})} > If @code{__has_trivial_constructor (type)} is @code{true} then the trait > is @code{true}, else if @var{type} is a cv class or union type (or array > @@ -29517,6 +29508,15 @@ Requires: @var{type} shall be a complete type, (= possibly cv-qualified) > @code{void}, or an array of unknown bound. > @enddefbuiltin > > +@defbuiltin{bool __has_nothrow_copy (@var{type})} > +If @code{__has_trivial_copy (type)} is @code{true} then the trait is > +@code{true}, else if @var{type} is a cv-qualified class or union type > +with copy constructors that are known not to throw an exception then > +the trait is @code{true}, else it is @code{false}. > +Requires: @var{type} shall be a complete type, (possibly cv-qualified) > +@code{void}, or an array of unknown bound. > +@enddefbuiltin > + > @defbuiltin{bool __has_trivial_assign (@var{type})} > If @var{type} is @code{const}- qualified or is a reference type then > the trait is @code{false}. Otherwise if @code{__is_trivial (type)} is > @@ -29527,15 +29527,6 @@ Requires: @var{type} shall be a complete type, (= possibly cv-qualified) > @code{void}, or an array of unknown bound. > @enddefbuiltin > > -@defbuiltin{bool __has_trivial_copy (@var{type})} > -If @code{__is_trivial (type)} is @code{true} or @var{type} is a referenc= e > -type then the trait is @code{true}, else if @var{type} is a cv class > -or union type with a trivial copy constructor ([class.copy]) then the tr= ait > -is @code{true}, else it is @code{false}. Requires: @var{type} shall be > -a complete type, (possibly cv-qualified) @code{void}, or an array of unk= nown > -bound. > -@enddefbuiltin > - > @defbuiltin{bool __has_trivial_constructor (@var{type})} > If @code{__is_trivial (type)} is @code{true} then the trait is @code{tru= e}, > else if @var{type} is a cv-qualified class or union type (or array there= of) > @@ -29545,6 +29536,15 @@ Requires: @var{type} shall be a complete type, (= possibly cv-qualified) > @code{void}, or an array of unknown bound. > @enddefbuiltin > > +@defbuiltin{bool __has_trivial_copy (@var{type})} > +If @code{__is_trivial (type)} is @code{true} or @var{type} is a referenc= e > +type then the trait is @code{true}, else if @var{type} is a cv class > +or union type with a trivial copy constructor ([class.copy]) then the tr= ait > +is @code{true}, else it is @code{false}. Requires: @var{type} shall be > +a complete type, (possibly cv-qualified) @code{void}, or an array of unk= nown > +bound. > +@enddefbuiltin > + > @defbuiltin{bool __has_trivial_destructor (@var{type})} > If @code{__is_trivial (type)} is @code{true} or @var{type} is a referenc= e type > then the trait is @code{true}, else if @var{type} is a cv class or union > @@ -29560,6 +29560,13 @@ If @var{type} is a class type with a virtual des= tructor > Requires: If @var{type} is a non-union class type, it shall be a complet= e type. > @enddefbuiltin > > +@defbuiltin{bool __integer_pack (@var{length})} > +When used as the pattern of a pack expansion within a template > +definition, expands to a template argument pack containing integers > +from @code{0} to @code{@var{length}-1}. This is provided for > +efficient implementation of @code{std::make_integer_sequence}. > +@enddefbuiltin > + > @defbuiltin{bool __is_abstract (@var{type})} > If @var{type} is an abstract class ([class.abstract]) then the trait > is @code{true}, else it is @code{false}. > @@ -29589,12 +29596,6 @@ If @var{type} is a cv-qualified class type, and = not a union type > ([basic.compound]) the trait is @code{true}, else it is @code{false}. > @enddefbuiltin > > -@c FIXME Commented out for GCC 13, discuss user interface for GCC 14. > -@c @defbuiltin{bool __is_deducible (@var{template}, @var{type})} > -@c If template arguments for @code{template} can be deduced from > -@c @code{type} or obtained from default template arguments. > -@c @enddefbuiltin > - > @defbuiltin{bool __is_empty (@var{type})} > If @code{__is_class (type)} is @code{false} then the trait is @code{fals= e}. > Otherwise @var{type} is considered empty if and only if: @var{type} > @@ -29617,6 +29618,12 @@ is @code{true}, else it is @code{false}. > Requires: If @var{type} is a class type, it shall be a complete type. > @enddefbuiltin > > +@c FIXME Commented out for GCC 13, discuss user interface for GCC 14. > +@c @defbuiltin{bool __is_deducible (@var{template}, @var{type})} > +@c If template arguments for @code{template} can be deduced from > +@c @code{type} or obtained from default template arguments. > +@c @enddefbuiltin > + > @defbuiltin{bool __is_literal_type (@var{type})} > If @var{type} is a literal type ([basic.types]) the trait is > @code{true}, else it is @code{false}. > @@ -29661,13 +29668,6 @@ The underlying type of @var{type}. > Requires: @var{type} shall be an enumeration type ([dcl.enum]). > @enddefbuiltin > > -@defbuiltin{bool __integer_pack (@var{length})} > -When used as the pattern of a pack expansion within a template > -definition, expands to a template argument pack containing integers > -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 > -- > 2.44.0 >