On Fri, Mar 8, 2024 at 8:38 AM Patrick Palka <ppa...@redhat.com> wrote:
>
> Hi Ken,
>
> This patch series LGTM, thanks for these documentation improvements.

Thank you for your time to review!  I actually have some changes to
these patches, so I will re-send those to you once they are ready.

>
> On Fri, 1 Mar 2024, Ken Matsui wrote:
>
> > 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 <kmat...@gcc.gnu.org>
> > ---
> >  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 reference
> > -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 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_constructor (@var{type})}
> >  If @code{__is_trivial (type)} is @code{true} then the trait is @code{true},
> >  else if @var{type} is a cv-qualified class or union type (or array thereof)
> > @@ -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 reference
> > +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 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_destructor (@var{type})}
> >  If @code{__is_trivial (type)} is @code{true} or @var{type} is a reference 
> > 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 
> > destructor
> >  Requires: If @var{type} is a non-union class type, it shall be a complete 
> > 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{false}.
> >  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
> >
> >
>

Reply via email to