From: Ken Matsui <kmatsui@cs.washington.edu>
To: Patrick Palka <ppalka@redhat.com>
Cc: Ken Matsui <kmatsui@gcc.gnu.org>,
gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org
Subject: Re: [PATCH v20 02/40] c-family, c++: Look up built-in traits via identifier node
Date: Mon, 16 Oct 2023 14:27:26 -0700 [thread overview]
Message-ID: <CAML+3pUWpJh0Wc=jKHOwULFKhmPX7o1T+fgbGxQm15RW-aii+w@mail.gmail.com> (raw)
In-Reply-To: <d967782a-354e-a01a-5512-1d5f9a77cf9f@idea>
On Mon, Oct 16, 2023 at 2:06 PM Patrick Palka <ppalka@redhat.com> wrote:
>
> On Mon, 16 Oct 2023, Ken Matsui wrote:
>
> > On Mon, Oct 16, 2023 at 7:55 AM Patrick Palka <ppalka@redhat.com> wrote:
> > >
> > > On Sun, 15 Oct 2023, Ken Matsui wrote:
> > >
> > > > Since RID_MAX soon reaches 255 and all built-in traits are used approximately
> > > > once in a C++ translation unit, this patch removes all RID values for built-in
> > > > traits and uses the identifier node to look up the specific trait. Rather
> > > > than holding traits as keywords, we set all trait identifiers as cik_trait,
> > > > which is a new cp_identifier_kind. As cik_reserved_for_udlit was unused and
> > > > cp_identifier_kind is 3 bits, we replaced the unused field with the new
> > > > cik_trait. Also, the later patch handles a subsequent token to the built-in
> > > > identifier so that we accept the use of non-function-like built-in trait
> > > > identifiers.
> > >
> > > Thanks, this looks great! Some review comments below.
> > >
> >
> > Thank you so much for your review :)
> >
> > > >
> > > > gcc/c-family/ChangeLog:
> > > >
> > > > * c-common.cc (c_common_reswords): Remove all mappings of
> > > > built-in traits.
> > > > * c-common.h (enum rid): Remove all RID values for built-in traits.
> > > >
> > > > gcc/cp/ChangeLog:
> > > >
> > > > * cp-objcp-common.cc (names_builtin_p): Remove all RID value
> > > > cases for built-in traits. Check for built-in traits via
> > > > the new cik_trait kind.
> > > > * cp-tree.h (enum cp_trait_kind): Set its underlying type to
> > > > addr_space_t.
> > > > (struct cp_trait): New struct to hold trait information.
> > > > (cp_traits): New array to hold a mapping to all traits.
> > > > (cik_reserved_for_udlit): Rename to ...
> > > > (cik_trait): ... this.
> > > > (IDENTIFIER_ANY_OP_P): Exclude cik_trait.
> > > > (IDENTIFIER_TRAIT_P): New macro to detect cik_trait.
> > > > * lex.cc (init_cp_traits): New function to set cik_trait for all
> > > > built-in trait identifiers.
> > >
> > > We should mention setting IDENTIFIER_CP_INDEX as well.
> > >
> >
> > Thank you!
> >
> > > > (cxx_init): Call init_cp_traits function.
> > > > * parser.cc (cp_traits): Define its values, declared in cp-tree.h.
> > > > (cp_lexer_lookup_trait): New function to look up a
> > > > built-in trait by IDENTIFIER_CP_INDEX.
> > > > (cp_lexer_lookup_trait_expr): Likewise, look up an
> > > > expression-yielding built-in trait.
> > > > (cp_lexer_lookup_trait_type): Likewise, look up a type-yielding
> > > > built-in trait.
> > > > (cp_keyword_starts_decl_specifier_p): Remove all RID value cases
> > > > for built-in traits.
> > > > (cp_lexer_next_token_is_decl_specifier_keyword): Handle
> > > > type-yielding built-in traits.
> > > > (cp_parser_primary_expression): Remove all RID value cases for
> > > > built-in traits. Handle expression-yielding built-in traits.
> > > > (cp_parser_trait): Handle cp_trait instead of enum rid.
> > > > (cp_parser_simple_type_specifier): Remove all RID value cases
> > > > for built-in traits. Handle type-yielding built-in traits.
> > > >
> > > > Co-authored-by: Patrick Palka <ppalka@redhat.com>
> > > > Signed-off-by: Ken Matsui <kmatsui@gcc.gnu.org>
> > > > ---
> > > > gcc/c-family/c-common.cc | 7 --
> > > > gcc/c-family/c-common.h | 5 --
> > > > gcc/cp/cp-objcp-common.cc | 8 +--
> > > > gcc/cp/cp-tree.h | 31 ++++++---
> > > > gcc/cp/lex.cc | 21 ++++++
> > > > gcc/cp/parser.cc | 141 ++++++++++++++++++++++++--------------
> > > > 6 files changed, 139 insertions(+), 74 deletions(-)
> > > >
> > > > diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
> > > > index f044db5b797..21fd333ef57 100644
> > > > --- a/gcc/c-family/c-common.cc
> > > > +++ b/gcc/c-family/c-common.cc
> > > > @@ -508,13 +508,6 @@ const struct c_common_resword c_common_reswords[] =
> > > > { "wchar_t", RID_WCHAR, D_CXXONLY },
> > > > { "while", RID_WHILE, 0 },
> > > >
> > > > -#define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > - { NAME, RID_##CODE, D_CXXONLY },
> > > > -#include "cp/cp-trait.def"
> > > > -#undef DEFTRAIT
> > > > - /* An alias for __is_same. */
> > > > - { "__is_same_as", RID_IS_SAME, D_CXXONLY },
> > > > -
> > > > /* C++ transactional memory. */
> > > > { "synchronized", RID_SYNCHRONIZED, D_CXX_OBJC | D_TRANSMEM },
> > > > { "atomic_noexcept", RID_ATOMIC_NOEXCEPT, D_CXXONLY | D_TRANSMEM },
> > > > diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
> > > > index 1fdba7ef3ea..051a442e0f4 100644
> > > > --- a/gcc/c-family/c-common.h
> > > > +++ b/gcc/c-family/c-common.h
> > > > @@ -168,11 +168,6 @@ enum rid
> > > > RID_BUILTIN_LAUNDER,
> > > > RID_BUILTIN_BIT_CAST,
> > > >
> > > > -#define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > - RID_##CODE,
> > > > -#include "cp/cp-trait.def"
> > > > -#undef DEFTRAIT
> > > > -
> > > > /* C++11 */
> > > > RID_CONSTEXPR, RID_DECLTYPE, RID_NOEXCEPT, RID_NULLPTR, RID_STATIC_ASSERT,
> > > >
> > > > diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
> > > > index 93b027b80ce..b1adacfec07 100644
> > > > --- a/gcc/cp/cp-objcp-common.cc
> > > > +++ b/gcc/cp/cp-objcp-common.cc
> > > > @@ -421,6 +421,10 @@ names_builtin_p (const char *name)
> > > > }
> > > > }
> > > >
> > > > + /* Check for built-in traits. */
> > > > + if (IDENTIFIER_TRAIT_P (id))
> > > > + return true;
> > > > +
> > > > /* Also detect common reserved C++ words that aren't strictly built-in
> > > > functions. */
> > > > switch (C_RID_CODE (id))
> > > > @@ -434,10 +438,6 @@ names_builtin_p (const char *name)
> > > > case RID_BUILTIN_ASSOC_BARRIER:
> > > > case RID_BUILTIN_BIT_CAST:
> > > > case RID_OFFSETOF:
> > > > -#define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > - case RID_##CODE:
> > > > -#include "cp-trait.def"
> > > > -#undef DEFTRAIT
> > > > return true;
> > > > default:
> > > > break;
> > > > diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
> > > > index 6e34952da99..583abb2e79a 100644
> > > > --- a/gcc/cp/cp-tree.h
> > > > +++ b/gcc/cp/cp-tree.h
> > > > @@ -1226,7 +1226,7 @@ enum cp_identifier_kind {
> > > > cik_simple_op = 4, /* Non-assignment operator name. */
> > > > cik_assign_op = 5, /* An assignment operator name. */
> > > > cik_conv_op = 6, /* Conversion operator name. */
> > > > - cik_reserved_for_udlit = 7, /* Not yet in use */
> > > > + cik_trait = 7, /* Built-in trait name. */
> > > > cik_max
> > > > };
> > > >
> > > > @@ -1271,9 +1271,9 @@ enum cp_identifier_kind {
> > > > & IDENTIFIER_KIND_BIT_0 (NODE))
> > > >
> > > > /* True if this identifier is for any operator name (including
> > > > - conversions). Value 4, 5, 6 or 7. */
> > > > + conversions). Value 4, 5, or 6. */
> > > > #define IDENTIFIER_ANY_OP_P(NODE) \
> > > > - (IDENTIFIER_KIND_BIT_2 (NODE))
> > > > + (IDENTIFIER_KIND_BIT_2 (NODE) && !IDENTIFIER_TRAIT_P (NODE))
> > > >
> > > > /* True if this identifier is for an overloaded operator. Values 4, 5. */
> > > > #define IDENTIFIER_OVL_OP_P(NODE) \
> > > > @@ -1286,12 +1286,18 @@ enum cp_identifier_kind {
> > > > & IDENTIFIER_KIND_BIT_0 (NODE))
> > > >
> > > > /* True if this identifier is the name of a type-conversion
> > > > - operator. Value 7. */
> > > > + operator. Value 6. */
> > > > #define IDENTIFIER_CONV_OP_P(NODE) \
> > > > (IDENTIFIER_ANY_OP_P (NODE) \
> > > > & IDENTIFIER_KIND_BIT_1 (NODE) \
> > > > & (!IDENTIFIER_KIND_BIT_0 (NODE)))
> > > >
> > > > +/* True if this identifier is the name of a built-in trait. */
> > > > +#define IDENTIFIER_TRAIT_P(NODE) \
> > > > + (IDENTIFIER_KIND_BIT_0 (NODE) \
> > > > + && IDENTIFIER_KIND_BIT_1 (NODE) \
> > > > + && IDENTIFIER_KIND_BIT_2 (NODE))
> > > > +
> > > > /* True if this identifier is a new or delete operator. */
> > > > #define IDENTIFIER_NEWDEL_OP_P(NODE) \
> > > > (IDENTIFIER_OVL_OP_P (NODE) \
> > > > @@ -1375,16 +1381,25 @@ struct GTY (()) tree_argument_pack_select {
> > > > int index;
> > > > };
> > > >
> > > > -/* The different kinds of traits that we encounter. */
> > > > -
> > > > -enum cp_trait_kind
> > > > -{
> > > > +/* The different kinds of traits that we encounter. The size is limited to
> > > > + addr_space_t since a trait is looked up by IDENTIFIER_CP_INDEX. */
> > > > +enum cp_trait_kind : addr_space_t {
> > > > #define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > CPTK_##CODE,
> > > > #include "cp-trait.def"
> > > > #undef DEFTRAIT
> > > > };
> > > >
> > > > +/* The trait type. */
> > > > +struct cp_trait {
> > > > + short arity;
> > > > + cp_trait_kind kind;
> > > > + bool type;
> > >
> > > Could we also store the const char* name of each trait here, so that ...
> > >
> > > > +};
> > > > +
> > > > +/* The trait table. */
> > > > +extern const struct cp_trait cp_traits[];
> > > > +
> > > > /* The types that we are processing. */
> > > > #define TRAIT_EXPR_TYPE1(NODE) \
> > > > (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->type1)
> > > > diff --git a/gcc/cp/lex.cc b/gcc/cp/lex.cc
> > > > index 64bcfb18196..16a82a12a02 100644
> > > > --- a/gcc/cp/lex.cc
> > > > +++ b/gcc/cp/lex.cc
> > > > @@ -35,6 +35,7 @@ along with GCC; see the file COPYING3. If not see
> > > > #include "langhooks.h"
> > > >
> > > > static int interface_strcmp (const char *);
> > > > +static void init_cp_traits (void);
> > > > static void init_cp_pragma (void);
> > > >
> > > > static tree parse_strconst_pragma (const char *, int);
> > > > @@ -283,6 +284,25 @@ init_reswords (void)
> > > > }
> > > > }
> > > >
> > > > +/* Initialize the C++ traits. */
> > > > +static void
> > > > +init_cp_traits (void)
> > > > +{
> > > > + tree id;
> > > > +
> > > > +#define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > + id = get_identifier (NAME); \
> > > > + IDENTIFIER_CP_INDEX (id) = CPTK_##CODE; \
> > > > + set_identifier_kind (id, cik_trait);
> > > > +#include "cp/cp-trait.def"
> > > > +#undef DEFTRAIT
> > >
> > > ... we could replace this straight-line code with a loop over cp_traits?
> > > It'd make cp_traits bigger but init_cp_traits should get much smaller,
> > > which should be a net win in terms of binary size.
> > >
> >
> > I see. Since we know the number of iterations would be up to 255 and
> > the inner statements are only 3 and pretty simple/small, I think it is
> > likely that we will benefit from loop unrolling. But do we want to
> > prioritize the binary size over the possible performance improvements?
>
> That's something I'd let the compiler decide on since it has a
> target-specific understanding of such tradeoffs :) And by writing it as
> a loop the compiler is free to unroll it if it decides doing so is
> worthwhile, whereas the other way around is not really possible here.
> So from that perspective it seems using a loop is the better default
> choice.
>
That makes sense, and I agree. Will add this change as well :)
> >
> > > > +
> > > > + /* An alias for __is_same. */
> > > > + id = get_identifier ("__is_same_as");
> > > > + IDENTIFIER_CP_INDEX (id) = CPTK_IS_SAME;
> > > > + set_identifier_kind (id, cik_trait);
> > > > +}
> > > > +
> > > > static void
> > > > init_cp_pragma (void)
> > > > {
> > > > @@ -324,6 +344,7 @@ cxx_init (void)
> > > > input_location = BUILTINS_LOCATION;
> > > >
> > > > init_reswords ();
> > > > + init_cp_traits ();
> > > > init_tree ();
> > > > init_cp_semantics ();
> > > > init_operators ();
> > > > diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
> > > > index f3abae716fe..eba5272be03 100644
> > > > --- a/gcc/cp/parser.cc
> > > > +++ b/gcc/cp/parser.cc
> > > > @@ -246,6 +246,12 @@ static void cp_lexer_start_debugging
> > > > (cp_lexer *) ATTRIBUTE_UNUSED;
> > > > static void cp_lexer_stop_debugging
> > > > (cp_lexer *) ATTRIBUTE_UNUSED;
> > > > +static const cp_trait *cp_lexer_lookup_trait
> > > > + (const cp_token *);
> > > > +static const cp_trait *cp_lexer_lookup_trait_expr
> > > > + (const cp_token *);
> > > > +static const cp_trait *cp_lexer_lookup_trait_type
> > > > + (const cp_token *);
> > > >
> > > > static cp_token_cache *cp_token_cache_new
> > > > (cp_token *, cp_token *);
> > > > @@ -279,6 +285,19 @@ static FILE *cp_lexer_debug_stream;
> > > > sizeof, typeof, or alignof. */
> > > > int cp_unevaluated_operand;
> > > >
> > > > +/* The trait table, declared in cp-tree.h. */
> > > > +const cp_trait cp_traits[] =
> > > > +{
> > > > +#define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > + { ARITY, CPTK_##CODE, (TCC == tcc_type) },
> > > > +#include "cp-trait.def"
> > > > +#undef DEFTRAIT
> > > > +};
> > > > +/* The trait table cannot have more than 255 (addr_space_t) entries since
> > > > + the index is retrieved through IDENTIFIER_CP_INDEX. */
> > > > +static_assert(ARRAY_SIZE (cp_traits) <= 255,
> > > > + "cp_traits array cannot have more than 255 entries");
> > > > +
> > > > /* Dump up to NUM tokens in BUFFER to FILE starting with token
> > > > START_TOKEN. If START_TOKEN is NULL, the dump starts with the
> > > > first token in BUFFER. If NUM is 0, dump all the tokens. If
> > > > @@ -1167,12 +1186,6 @@ cp_keyword_starts_decl_specifier_p (enum rid keyword)
> > > > case RID_CONSTEVAL:
> > > > return true;
> > > >
> > > > -#define DEFTRAIT_TYPE(CODE, NAME, ARITY) \
> > > > - case RID_##CODE:
> > > > -#include "cp-trait.def"
> > > > -#undef DEFTRAIT_TYPE
> > > > - return true;
> > > > -
> > > > default:
> > > > if (keyword >= RID_FIRST_INT_N
> > > > && keyword < RID_FIRST_INT_N + NUM_INT_N_ENTS
> > > > @@ -1182,6 +1195,48 @@ cp_keyword_starts_decl_specifier_p (enum rid keyword)
> > > > }
> > > > }
> > > >
> > > > +/* Look ups the corresponding built-in trait if a given token is
> > > > + a built-in trait. Otherwise, returns nullptr. */
> > > > +
> > > > +static const cp_trait *
> > > > +cp_lexer_lookup_trait (const cp_token *token)
> > > > +{
> > > > + tree id = token->u.value;
> > > > +
> > > > + if (token->type == CPP_NAME
> > > > + && TREE_CODE (id) == IDENTIFIER_NODE
> > >
> > > The value of a CPP_NAME token is always an IDENTIFIER_NODE, so this
> > > check should be redundant. Also we should access the u.value union member
> > > only after the CPP_NAME check, since for some other token kinds u.value
> > > isn't the active member (and reading from it would be undefined behavior
> > > strictly speaking).
> > >
> >
> > Thank you!
> >
> > > > + && IDENTIFIER_TRAIT_P (id))
> > > > + return &cp_traits[IDENTIFIER_CP_INDEX (id)];
> > > > +
> > > > + return nullptr;
> > > > +}
> > > > +
> > > > +/* Similarly, but only if the token is an expression-yielding
> > > > + built-in trait. */
> > > > +
> > > > +static const cp_trait *
> > > > +cp_lexer_lookup_trait_expr (const cp_token *token)
> > > > +{
> > > > + const cp_trait *trait = cp_lexer_lookup_trait (token);
> > > > + if (trait && !trait->type)
> > > > + return trait;
> > > > +
> > > > + return nullptr;
> > > > +}
> > > > +
> > > > +/* Similarly, but only if the token is a type-yielding
> > > > + built-in trait. */
> > > > +
> > > > +static const cp_trait *
> > > > +cp_lexer_lookup_trait_type (const cp_token *token)
> > > > +{
> > > > + const cp_trait *trait = cp_lexer_lookup_trait (token);
> > > > + if (trait && trait->type)
> > > > + return trait;
> > > > +
> > > > + return nullptr;
> > > > +}
> > > > +
> > > > /* Return true if the next token is a keyword for a decl-specifier. */
> > > >
> > > > static bool
> > > > @@ -1190,6 +1245,8 @@ cp_lexer_next_token_is_decl_specifier_keyword (cp_lexer *lexer)
> > > > cp_token *token;
> > > >
> > > > token = cp_lexer_peek_token (lexer);
> > > > + if (cp_lexer_lookup_trait_type (token))
> > > > + return true;
> > > > return cp_keyword_starts_decl_specifier_p (token->keyword);
> > > > }
> > > >
> > > > @@ -2854,7 +2911,7 @@ static void cp_parser_late_parsing_default_args
> > > > static tree cp_parser_sizeof_operand
> > > > (cp_parser *, enum rid);
> > > > static cp_expr cp_parser_trait
> > > > - (cp_parser *, enum rid);
> > > > + (cp_parser *, const cp_trait *);
> > > > static bool cp_parser_declares_only_class_p
> > > > (cp_parser *);
> > > > static void cp_parser_set_storage_class
> > > > @@ -6021,12 +6078,6 @@ cp_parser_primary_expression (cp_parser *parser,
> > > > case RID_OFFSETOF:
> > > > return cp_parser_builtin_offsetof (parser);
> > > >
> > > > -#define DEFTRAIT_EXPR(CODE, NAME, ARITY) \
> > > > - case RID_##CODE:
> > > > -#include "cp-trait.def"
> > > > -#undef DEFTRAIT_EXPR
> > > > - return cp_parser_trait (parser, token->keyword);
> > > > -
> > > > // C++ concepts
> > > > case RID_REQUIRES:
> > > > return cp_parser_requires_expression (parser);
> > > > @@ -6065,6 +6116,12 @@ cp_parser_primary_expression (cp_parser *parser,
> > > > `::' as the beginning of a qualified-id, or the "operator"
> > > > keyword. */
> > > > case CPP_NAME:
> > > > + {
> > > > + const cp_trait* trait = cp_lexer_lookup_trait_expr (token);
> > > > + if (trait)
> > >
> > > A tiny nit, but we could remove the extra block scope here by doing
> > > 'if (const cp_trait* trait = ...)' instead.
> > >
> >
> > Thank you!
> >
> > > > + return cp_parser_trait (parser, trait);
> > > > + }
> > > > + /* FALLTHRU */
> > > > case CPP_SCOPE:
> > > > case CPP_TEMPLATE_ID:
> > > > case CPP_NESTED_NAME_SPECIFIER:
> > > > @@ -11033,28 +11090,11 @@ cp_parser_builtin_offsetof (cp_parser *parser)
> > > > /* Parse a builtin trait expression or type. */
> > > >
> > > > static cp_expr
> > > > -cp_parser_trait (cp_parser* parser, enum rid keyword)
> > > > +cp_parser_trait (cp_parser* parser, const cp_trait* trait)
> > > > {
> > > > - cp_trait_kind kind;
> > > > tree type1, type2 = NULL_TREE;
> > > > - bool binary = false;
> > > > - bool variadic = false;
> > > > - bool type = false;
> > > > -
> > > > - switch (keyword)
> > > > - {
> > > > -#define DEFTRAIT(TCC, CODE, NAME, ARITY) \
> > > > - case RID_##CODE: \
> > > > - kind = CPTK_##CODE; \
> > > > - binary = (ARITY == 2); \
> > > > - variadic = (ARITY == -1); \
> > > > - type = (TCC == tcc_type); \
> > > > - break;
> > > > -#include "cp-trait.def"
> > > > -#undef DEFTRAIT
> > > > - default:
> > > > - gcc_unreachable ();
> > > > - }
> > > > + const bool binary = (trait->arity == 2);
> > > > + const bool variadic = (trait->arity == -1);
> > >
> > > Could we continue defining the local variables 'kind' and 'type' here so
> > > that we don't have to adjust their uses in the rest of the function?
> > > That should yield a smaller diff for this function.
> > >
> >
> > Yes, I will update this patch. Thank you!
> >
> > > >
> > > > /* Get location of initial token. */
> > > > location_t start_loc = cp_lexer_peek_token (parser->lexer)->location;
> > > > @@ -11063,12 +11103,12 @@ cp_parser_trait (cp_parser* parser, enum rid keyword)
> > > > cp_lexer_consume_token (parser->lexer);
> > > >
> > > > matching_parens parens;
> > > > - if (kind == CPTK_TYPE_PACK_ELEMENT)
> > > > + if (trait->kind == CPTK_TYPE_PACK_ELEMENT)
> > > > cp_parser_require (parser, CPP_LESS, RT_LESS);
> > > > else
> > > > parens.require_open (parser);
> > > >
> > > > - if (kind == CPTK_IS_DEDUCIBLE)
> > > > + if (trait->kind == CPTK_IS_DEDUCIBLE)
> > > > {
> > > > const cp_token* token = cp_lexer_peek_token (parser->lexer);
> > > > type1 = cp_parser_id_expression (parser,
> > > > @@ -11079,7 +11119,7 @@ cp_parser_trait (cp_parser* parser, enum rid keyword)
> > > > /*optional_p=*/false);
> > > > type1 = cp_parser_lookup_name_simple (parser, type1, token->location);
> > > > }
> > > > - else if (kind == CPTK_TYPE_PACK_ELEMENT)
> > > > + else if (trait->kind == CPTK_TYPE_PACK_ELEMENT)
> > > > /* __type_pack_element takes an expression as its first argument and uses
> > > > template-id syntax instead of function call syntax (for consistency
> > > > with Clang). We special case these properties of __type_pack_element
> > > > @@ -11094,7 +11134,7 @@ cp_parser_trait (cp_parser* parser, enum rid keyword)
> > > > if (type1 == error_mark_node)
> > > > return error_mark_node;
> > > >
> > > > - if (kind == CPTK_TYPE_PACK_ELEMENT)
> > > > + if (trait->kind == CPTK_TYPE_PACK_ELEMENT)
> > > > {
> > > > cp_parser_require (parser, CPP_COMMA, RT_COMMA);
> > > > tree trailing = cp_parser_enclosed_template_argument_list (parser);
> > > > @@ -11144,7 +11184,7 @@ cp_parser_trait (cp_parser* parser, enum rid keyword)
> > > > }
> > > >
> > > > location_t finish_loc = cp_lexer_peek_token (parser->lexer)->location;
> > > > - if (kind == CPTK_TYPE_PACK_ELEMENT)
> > > > + if (trait->kind == CPTK_TYPE_PACK_ELEMENT)
> > > > /* cp_parser_enclosed_template_argument_list above already took care
> > > > of parsing the closing '>'. */;
> > > > else
> > > > @@ -11158,17 +11198,17 @@ cp_parser_trait (cp_parser* parser, enum rid keyword)
> > > >
> > > > /* Complete the trait expression, which may mean either processing
> > > > the trait expr now or saving it for template instantiation. */
> > > > - switch (kind)
> > > > + switch (trait->kind)
> > > > {
> > > > case CPTK_BASES:
> > > > return cp_expr (finish_bases (type1, false), trait_loc);
> > > > case CPTK_DIRECT_BASES:
> > > > return cp_expr (finish_bases (type1, true), trait_loc);
> > > > default:
> > > > - if (type)
> > > > - return finish_trait_type (kind, type1, type2, tf_warning_or_error);
> > > > + if (trait->type)
> > > > + return finish_trait_type (trait->kind, type1, type2, tf_warning_or_error);
> > > > else
> > > > - return finish_trait_expr (trait_loc, kind, type1, type2);
> > > > + return finish_trait_expr (trait_loc, trait->kind, type1, type2);
> > > > }
> > > > }
> > > >
> > > > @@ -20081,20 +20121,21 @@ cp_parser_simple_type_specifier (cp_parser* parser,
> > > >
> > > > return type;
> > > >
> > > > -#define DEFTRAIT_TYPE(CODE, NAME, ARITY) \
> > > > - case RID_##CODE:
> > > > -#include "cp-trait.def"
> > > > -#undef DEFTRAIT_TYPE
> > > > - type = cp_parser_trait (parser, token->keyword);
> > > > + default:
> > > > + break;
> > > > + }
> > > > +
> > > > + /* If token is a type-yielding built-in traits, parse it. */
> > > > + const cp_trait* trait = cp_lexer_lookup_trait_type (token);
> > > > + if (trait)
> > > > + {
> > > > + type = cp_parser_trait (parser, trait);
> > > > if (decl_specs)
> > > > cp_parser_set_decl_spec_type (decl_specs, type,
> > > > token,
> > > > /*type_definition_p=*/false);
> > > >
> > > > return type;
> > > > -
> > > > - default:
> > > > - break;
> > > > }
> > > >
> > > > /* If token is an already-parsed decltype not followed by ::,
> > > > --
> > > > 2.42.0
> > > >
> > > >
> > >
> >
> >
next prev parent reply other threads:[~2023-10-16 21:28 UTC|newest]
Thread overview: 629+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-14 6:42 [PATCH v11 00/40] Optimize type traits performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 01/40] c++: Sort built-in identifiers alphabetically Ken Matsui
2023-09-14 6:42 ` [PATCH v11 02/40] c++: Implement __is_const built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 03/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 04/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 05/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 06/40] c++: Implement __is_array built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 07/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 08/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 09/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 10/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 11/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 12/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 13/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 14/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 15/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 16/40] c, c++: Use 16 bits for all use of enum rid for more keyword space Ken Matsui
2023-09-14 17:53 ` Joseph Myers
2023-09-14 21:44 ` Ken Matsui
2023-09-15 23:26 ` Ken Matsui
2023-09-14 6:42 ` [PATCH v11 17/40] c-family: Fix C_SET_RID_CODE to handle 16-bit rid code correctly Ken Matsui
2023-09-14 6:42 ` [PATCH v11 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-09-14 6:42 ` [PATCH v11 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-09-14 6:42 ` [PATCH v11 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-09-14 6:43 ` [PATCH v11 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 29/40] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 31/40] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-09-14 6:43 ` [PATCH v11 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-09-14 6:43 ` [PATCH v11 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 37/40] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-09-14 6:43 ` [PATCH v11 39/40] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-09-14 6:43 ` [PATCH v11 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 00/40] Optimize type traits performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 01/40] c++: Sort built-in identifiers alphabetically Ken Matsui
2023-09-15 2:21 ` [PATCH v12 02/40] c++: Implement __is_const built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 03/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 04/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 05/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 06/40] c++: Implement __is_array built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 07/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 08/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 09/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 10/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 11/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 12/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 13/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 14/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 15/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 16/40] c, c++: Use 16 bits for all use of enum rid for more keyword space Ken Matsui
2023-09-15 2:21 ` [PATCH v12 17/40] c-family: Fix C_SET_RID_CODE to handle 16-bit rid code correctly Ken Matsui
2023-09-15 2:21 ` [PATCH v12 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-09-15 2:21 ` [PATCH v12 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 29/40] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 31/40] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-09-15 2:21 ` [PATCH v12 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-09-15 2:21 ` [PATCH v12 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 37/40] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-09-15 2:21 ` [PATCH v12 39/40] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-09-15 2:21 ` [PATCH v12 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 00/40] Optimize type traits performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 01/40] c++: Sort built-in identifiers alphabetically Ken Matsui
2023-09-15 2:34 ` [PATCH v13 02/40] c++: Implement __is_const built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 03/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 04/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 05/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 06/40] c++: Implement __is_array built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 07/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 08/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 09/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 10/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 11/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 12/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 13/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 14/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 15/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 16/40] c, c++: Use 16 bits for all use of enum rid for more keyword space Ken Matsui
2023-09-15 23:50 ` [PATCH v14 00/40] Optimize type traits performance Ken Matsui
2023-09-15 23:50 ` [PATCH v14 01/40] c++: Sort built-in identifiers alphabetically Ken Matsui
2023-09-15 23:50 ` [PATCH v14 02/40] c++: Implement __is_const built-in trait Ken Matsui
2023-09-15 23:50 ` [PATCH v14 03/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-09-15 23:50 ` [PATCH v14 04/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-09-15 23:50 ` [PATCH v14 05/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-09-15 23:50 ` [PATCH v14 06/40] c++: Implement __is_array built-in trait Ken Matsui
2023-09-15 23:50 ` [PATCH v14 07/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-09-15 23:50 ` [PATCH v14 08/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-09-15 23:50 ` [PATCH v14 09/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-09-15 23:50 ` [PATCH v14 10/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-09-15 23:50 ` [PATCH v14 11/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-09-15 23:50 ` [PATCH v14 12/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-09-15 23:50 ` [PATCH v14 13/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 14/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 15/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 16/40] c, c++: Use 16 bits for all use of enum rid for more keyword space Ken Matsui
2023-09-19 16:58 ` Jason Merrill
2023-09-19 23:05 ` Ken Matsui
2023-09-27 13:57 ` Jason Merrill
2023-10-09 5:03 ` Ken Matsui
2023-09-15 23:51 ` [PATCH v14 17/40] c-family: Fix C_SET_RID_CODE to handle 16-bit rid code correctly Ken Matsui
2023-09-15 23:51 ` [PATCH v14 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-09-15 23:51 ` [PATCH v14 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 29/40] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 31/40] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-09-15 23:51 ` [PATCH v14 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-09-15 23:51 ` [PATCH v14 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 37/40] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-09-15 23:51 ` [PATCH v14 39/40] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-09-15 23:51 ` [PATCH v14 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-09-15 2:34 ` [PATCH v13 17/40] c-family: Fix C_SET_RID_CODE to handle 16-bit rid code correctly Ken Matsui
2023-09-15 2:34 ` [PATCH v13 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-09-15 2:34 ` [PATCH v13 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-09-15 2:35 ` [PATCH v13 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 29/40] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 31/40] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-09-15 2:35 ` [PATCH v13 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-09-15 2:35 ` [PATCH v13 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 37/40] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-09-15 2:35 ` [PATCH v13 39/40] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-09-15 2:35 ` [PATCH v13 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 00/39] Optimize type traits performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 01/39] c++: Sort built-in identifiers alphabetically Ken Matsui
2023-10-10 9:46 ` [PATCH v15 02/39] c-family, c++: Look up traits through gperf instead of enum rid Ken Matsui
2023-10-10 9:46 ` [PATCH v15 03/39] c++: Implement __is_const built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 04/39] libstdc++: Optimize is_const trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 05/39] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 06/39] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 07/39] c++: Implement __is_array built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 08/39] libstdc++: Optimize is_array trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 09/39] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 10/39] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 11/39] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 12/39] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 13/39] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 14/39] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 15/39] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 16/39] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 17/39] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 18/39] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 19/39] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 20/39] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 21/39] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 22/39] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 23/39] c++: Implement __is_function built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 24/39] libstdc++: Optimize is_function trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 25/39] libstdc++: Optimize is_object " Ken Matsui
2023-10-10 9:46 ` [PATCH v15 26/39] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 27/39] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 28/39] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 29/39] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 30/39] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 31/39] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 32/39] libstdc++: Optimize is_fundamental " Ken Matsui
2023-10-10 9:46 ` [PATCH v15 33/39] libstdc++: Optimize is_compound " Ken Matsui
2023-10-10 9:46 ` [PATCH v15 34/39] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 35/39] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 36/39] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 37/39] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-10-10 9:46 ` [PATCH v15 38/39] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-10-10 9:46 ` [PATCH v15 39/39] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-10 22:09 ` [PATCH v16 00/39] Optimize type traits performance Ken Matsui
2023-10-10 22:09 ` [PATCH v16 01/39] c++: Sort built-in identifiers alphabetically Ken Matsui
2023-10-10 22:09 ` [PATCH v16 02/39] c-family, c++: Look up built-in traits through gperf Ken Matsui
2023-10-11 20:09 ` Patrick Palka
2023-10-11 21:34 ` Ken Matsui
2023-10-10 22:09 ` [PATCH v16 03/39] c++: Implement __is_const built-in trait Ken Matsui
2023-10-10 22:09 ` [PATCH v16 04/39] libstdc++: Optimize is_const trait performance Ken Matsui
2023-10-10 22:09 ` [PATCH v16 05/39] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-10 22:09 ` [PATCH v16 06/39] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-10-10 22:09 ` [PATCH v16 07/39] c++: Implement __is_array built-in trait Ken Matsui
2023-10-10 22:09 ` [PATCH v16 08/39] libstdc++: Optimize is_array trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 09/39] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 10/39] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 11/39] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 12/39] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 13/39] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 14/39] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 15/39] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 16/39] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 17/39] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 18/39] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 19/39] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 20/39] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 21/39] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 22/39] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 23/39] c++: Implement __is_function built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 24/39] libstdc++: Optimize is_function trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 25/39] libstdc++: Optimize is_object " Ken Matsui
2023-10-10 22:10 ` [PATCH v16 26/39] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 27/39] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 28/39] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 29/39] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 30/39] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 31/39] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 32/39] libstdc++: Optimize is_fundamental " Ken Matsui
2023-10-10 22:10 ` [PATCH v16 33/39] libstdc++: Optimize is_compound " Ken Matsui
2023-10-10 22:10 ` [PATCH v16 34/39] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 35/39] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 36/39] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 37/39] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-10-10 22:10 ` [PATCH v16 38/39] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-10-10 22:10 ` [PATCH v16 39/39] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 00/39] Optimize type traits performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 01/39] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-11 21:45 ` [PATCH v17 02/39] c-family, c++: Look up built-in traits through gperf Ken Matsui
2023-10-12 17:02 ` Patrick Palka
2023-10-11 21:45 ` [PATCH v17 03/39] c++: Implement __is_const built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 04/39] libstdc++: Optimize is_const trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 05/39] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 06/39] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 07/39] c++: Implement __is_array built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 08/39] libstdc++: Optimize is_array trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 09/39] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 10/39] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 11/39] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 12/39] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 13/39] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 14/39] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 15/39] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 16/39] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 17/39] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 18/39] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 19/39] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 20/39] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 21/39] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-11 21:45 ` [PATCH v17 22/39] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-10-11 21:45 ` [PATCH v17 23/39] c++: Implement __is_function built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 24/39] libstdc++: Optimize is_function trait performance Ken Matsui
2023-10-11 21:46 ` [PATCH v17 25/39] libstdc++: Optimize is_object " Ken Matsui
2023-10-11 21:46 ` [PATCH v17 26/39] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 27/39] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-10-11 21:46 ` [PATCH v17 28/39] c++, libstdc++: Implement __is_pointer built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 29/39] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-10-11 21:46 ` [PATCH v17 30/39] c++, libstdc++: Implement __is_arithmetic built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 31/39] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-10-11 21:46 ` [PATCH v17 32/39] libstdc++: Optimize is_fundamental " Ken Matsui
2023-10-11 21:46 ` [PATCH v17 33/39] libstdc++: Optimize is_compound " Ken Matsui
2023-10-11 21:46 ` [PATCH v17 34/39] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 35/39] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-10-11 21:46 ` [PATCH v17 36/39] c++, libstdc++: Implement __is_signed built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 37/39] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-10-11 21:46 ` [PATCH v17 38/39] c++, libstdc++: Implement __is_scalar built-in trait Ken Matsui
2023-10-11 21:46 ` [PATCH v17 39/39] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-13 21:03 ` [PATCH v18 00/40] Optimize type traits performance Ken Matsui
2023-10-13 21:03 ` [PATCH v18 01/40] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-13 21:03 ` [PATCH v18 02/40] c-family, c++: Look up built-in traits through gperf Ken Matsui
2023-10-13 21:03 ` [PATCH v18 03/40] c++: Accept the use of non-function-like built-in trait identifiers Ken Matsui
2023-10-13 21:04 ` [PATCH v18 04/40] c++: Implement __is_const built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 05/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 06/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 07/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 08/40] c++: Implement __is_array built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 09/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 10/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 11/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 12/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 13/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 14/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 15/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 16/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 17/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-10-13 21:04 ` [PATCH v18 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 29/40] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 31/40] c++: Implement __is_arithmetic built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-10-13 21:04 ` [PATCH v18 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-10-13 21:04 ` [PATCH v18 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 37/40] c++: Implement __is_signed built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-10-13 21:04 ` [PATCH v18 39/40] c++: Implement __is_scalar built-in trait Ken Matsui
2023-10-13 21:04 ` [PATCH v18 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 00/40] Optimize type traits performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 01/40] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-13 22:37 ` [PATCH v19 02/40] c-family, c++: Look up built-in traits through gperf Ken Matsui
2023-10-15 20:43 ` Patrick Palka
2023-10-15 21:04 ` Ken Matsui
2023-10-15 21:50 ` Patrick Palka
2023-10-15 21:52 ` Ken Matsui
2023-10-13 22:37 ` [PATCH v19 03/40] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-10-13 22:37 ` [PATCH v19 04/40] c++: Implement __is_const built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 05/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 06/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 07/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 08/40] c++: Implement __is_array built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 09/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 10/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 11/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 12/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 13/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 14/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 15/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 16/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 17/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-10-13 22:37 ` [PATCH v19 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 29/40] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 31/40] c++: Implement __is_arithmetic built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-10-13 22:37 ` [PATCH v19 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-10-13 22:37 ` [PATCH v19 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 37/40] c++: Implement __is_signed built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-10-13 22:37 ` [PATCH v19 39/40] c++: Implement __is_scalar built-in trait Ken Matsui
2023-10-13 22:37 ` [PATCH v19 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 00/40] Optimize type traits performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 01/40] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-16 15:16 ` Patrick Palka
2023-10-16 20:11 ` Ken Matsui
2023-10-16 21:12 ` Patrick Palka
2023-10-16 21:30 ` Ken Matsui
2023-10-16 0:09 ` [PATCH v20 02/40] c-family, c++: Look up built-in traits via identifier node Ken Matsui
2023-10-16 14:55 ` Patrick Palka
2023-10-16 19:57 ` Ken Matsui
2023-10-16 21:06 ` Patrick Palka
2023-10-16 21:27 ` Ken Matsui [this message]
2023-10-16 0:09 ` [PATCH v20 03/40] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-10-16 15:00 ` Patrick Palka
2023-10-16 0:09 ` [PATCH v20 04/40] c++: Implement __is_const built-in trait Ken Matsui
2023-10-16 0:09 ` [PATCH v20 05/40] libstdc++: Optimize is_const trait performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 06/40] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-16 0:09 ` [PATCH v20 07/40] libstdc++: Optimize is_volatile trait performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 08/40] c++: Implement __is_array built-in trait Ken Matsui
2023-10-16 0:09 ` [PATCH v20 09/40] libstdc++: Optimize is_array trait performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 10/40] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-16 0:09 ` [PATCH v20 11/40] libstdc++: Optimize is_unbounded_array trait performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 12/40] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-16 0:09 ` [PATCH v20 13/40] libstdc++: Optimize is_bounded_array trait performance Ken Matsui
2023-10-16 0:09 ` [PATCH v20 14/40] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-16 0:09 ` [PATCH v20 15/40] libstdc++: Optimize is_scoped_enum trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 16/40] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 17/40] libstdc++: Optimize is_member_pointer trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 18/40] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 19/40] libstdc++: Optimize is_member_function_pointer trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 20/40] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 21/40] libstdc++: Optimize is_member_object_pointer trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 22/40] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 23/40] libstdc++: Optimize is_reference trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 24/40] c++: Implement __is_function built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 25/40] libstdc++: Optimize is_function trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 26/40] libstdc++: Optimize is_object " Ken Matsui
2023-10-16 18:04 ` Patrick Palka
2023-10-16 20:26 ` Ken Matsui
2023-10-16 0:10 ` [PATCH v20 27/40] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 28/40] libstdc++: Optimize remove_pointer trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 29/40] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 30/40] libstdc++: Optimize is_pointer trait performance Ken Matsui
2023-10-16 16:36 ` Patrick Palka
2023-10-16 20:22 ` Ken Matsui
2023-10-16 0:10 ` [PATCH v20 31/40] c++: Implement __is_arithmetic built-in trait Ken Matsui
2023-10-16 17:16 ` Patrick Palka
2023-10-16 20:25 ` Ken Matsui
2023-10-16 0:10 ` [PATCH v20 32/40] libstdc++: Optimize is_arithmetic trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 33/40] libstdc++: Optimize is_fundamental " Ken Matsui
2023-10-16 0:10 ` [PATCH v20 34/40] libstdc++: Optimize is_compound " Ken Matsui
2023-10-16 0:10 ` [PATCH v20 35/40] c++: Implement __is_unsigned built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 36/40] libstdc++: Optimize is_unsigned trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 37/40] c++: Implement __is_signed built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 38/40] libstdc++: Optimize is_signed trait performance Ken Matsui
2023-10-16 0:10 ` [PATCH v20 39/40] c++: Implement __is_scalar built-in trait Ken Matsui
2023-10-16 0:10 ` [PATCH v20 40/40] libstdc++: Optimize is_scalar trait performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 00/30] Optimize type traits performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 01/30] c-family, c++: Look up built-in traits via identifier node Ken Matsui
2023-10-17 11:27 ` [PATCH v21 02/30] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-10-17 11:27 ` [PATCH v21 03/30] c++: Implement __is_const built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 04/30] libstdc++: Optimize std::is_const compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 05/30] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 06/30] libstdc++: Optimize std::is_volatile compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 07/30] c++: Implement __is_array built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 08/30] libstdc++: Optimize std::is_array compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 09/30] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 10/30] libstdc++: Optimize std::is_unbounded_array compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 11/30] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 12/30] libstdc++: Optimize std::is_bounded_array compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 13/30] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 14/30] libstdc++: Optimize std::is_scoped_enum compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 15/30] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 16/30] libstdc++: Optimize std::is_member_pointer compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 17/30] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 18/30] libstdc++: Optimize std::is_member_function_pointer compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 19/30] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 20/30] libstdc++: Optimize std::is_member_object_pointer compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 21/30] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 22/30] libstdc++: Optimize std::is_reference compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 23/30] c++: Implement __is_function built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 24/30] libstdc++: Optimize std::is_function compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 25/30] c++: Implement __is_object built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 26/30] libstdc++: Optimize std::is_object compilation performance Ken Matsui
2023-10-17 11:27 ` [PATCH v21 27/30] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-17 11:27 ` [PATCH v21 28/30] libstdc++: Optimize std::remove_pointer compilation performance Ken Matsui
2023-10-17 11:28 ` [PATCH v21 29/30] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-17 11:28 ` [PATCH v21 30/30] libstdc++: Optimize std::is_pointer compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 00/31] Optimize type traits performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 01/31] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-17 11:36 ` [PATCH v22 02/31] c-family, c++: Look up built-in traits via identifier node Ken Matsui
2023-10-17 17:04 ` Patrick Palka
2023-10-17 11:36 ` [PATCH v22 03/31] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-10-17 11:36 ` [PATCH v22 04/31] c++: Implement __is_const built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 05/31] libstdc++: Optimize std::is_const compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 06/31] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 07/31] libstdc++: Optimize std::is_volatile compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 08/31] c++: Implement __is_array built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 09/31] libstdc++: Optimize std::is_array compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 10/31] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 11/31] libstdc++: Optimize std::is_unbounded_array compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 12/31] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 13/31] libstdc++: Optimize std::is_bounded_array compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 14/31] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 15/31] libstdc++: Optimize std::is_scoped_enum compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 16/31] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 17/31] libstdc++: Optimize std::is_member_pointer compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 18/31] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 19/31] libstdc++: Optimize std::is_member_function_pointer compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 20/31] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 21/31] libstdc++: Optimize std::is_member_object_pointer compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 22/31] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 23/31] libstdc++: Optimize std::is_reference compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 24/31] c++: Implement __is_function built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 25/31] libstdc++: Optimize std::is_function compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 26/31] c++: Implement __is_object built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 27/31] libstdc++: Optimize std::is_object compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 28/31] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 29/31] libstdc++: Optimize std::remove_pointer compilation performance Ken Matsui
2023-10-17 11:36 ` [PATCH v22 30/31] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-17 11:36 ` [PATCH v22 31/31] libstdc++: Optimize std::is_pointer compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 00/33] Optimize type traits performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 01/33] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-20 13:53 ` [PATCH v23 02/33] c-family, c++: Look up built-in traits via identifier node Ken Matsui
2023-10-20 19:11 ` Patrick Palka
2023-10-20 20:00 ` Ken Matsui
2023-10-23 20:27 ` Jason Merrill
2023-10-23 21:08 ` Ken Matsui
2023-10-20 13:53 ` [PATCH v23 03/33] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-10-23 20:36 ` Jason Merrill
2023-10-23 21:08 ` Ken Matsui
2023-10-20 13:53 ` [PATCH v23 04/33] c++: Implement __is_const built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 05/33] libstdc++: Optimize std::is_const compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 06/33] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 07/33] libstdc++: Optimize std::is_volatile compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 08/33] c++: Implement __is_array built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 09/33] libstdc++: Optimize std::is_array compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 10/33] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 11/33] libstdc++: Optimize std::is_unbounded_array compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 12/33] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 13/33] libstdc++: Optimize std::is_bounded_array compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 14/33] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 15/33] libstdc++: Optimize std::is_scoped_enum compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 16/33] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 17/33] libstdc++: Optimize std::is_member_pointer compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 18/33] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 19/33] libstdc++: Optimize std::is_member_function_pointer compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 20/33] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 21/33] libstdc++: Optimize std::is_member_object_pointer compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 22/33] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 23/33] libstdc++: Optimize std::is_reference compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 24/33] c++: Implement __is_function built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 25/33] libstdc++: Optimize std::is_function compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 26/33] c++: Implement __is_object built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 27/33] libstdc++: Optimize std::is_object compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 28/33] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 29/33] libstdc++: Optimize std::remove_pointer compilation performance Ken Matsui
2023-10-20 13:53 ` [PATCH v23 30/33] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-20 13:53 ` [PATCH v23 31/33] libstdc++: Optimize std::is_pointer compilation performance Ken Matsui
2023-10-22 12:06 ` Ken Matsui
2023-10-23 17:00 ` Patrick Palka
2023-10-23 17:12 ` Ken Matsui
2023-10-20 13:53 ` [PATCH v23 32/33] c++: Implement __is_invocable built-in trait Ken Matsui
2023-10-20 21:29 ` Patrick Palka
2023-10-20 21:31 ` Patrick Palka
2023-10-20 21:37 ` Patrick Palka
2023-10-23 21:23 ` Jason Merrill
2024-02-20 1:35 ` Ken Matsui
2023-10-20 13:53 ` [PATCH v23 33/33] libstdc++: Optimize std::is_invocable compilation performance Ken Matsui
2023-10-20 16:16 ` [PATCH v24 00/33] Optimize type traits performance Ken Matsui
2023-10-20 16:17 ` [PATCH v24 33/33] libstdc++: Optimize std::is_invocable compilation performance Ken Matsui
2023-10-23 17:04 ` Patrick Palka
2023-10-23 17:14 ` Ken Matsui
2023-10-23 17:38 ` Patrick Palka
2023-10-23 17:47 ` Ken Matsui
2023-10-24 2:00 ` [PATCH v25 00/33] Optimize type traits " Ken Matsui
2023-10-24 2:00 ` [PATCH v25 01/33] c++: Sort built-in traits alphabetically Ken Matsui
2023-10-24 2:00 ` [PATCH v25 02/33] c-family, c++: Look up built-in traits via identifier node Ken Matsui
2023-10-24 2:00 ` [PATCH v25 03/33] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-10-24 2:00 ` [PATCH v25 04/33] c++: Implement __is_const built-in trait Ken Matsui
2023-10-24 2:00 ` [PATCH v25 05/33] libstdc++: Optimize std::is_const compilation performance Ken Matsui
2023-10-24 2:00 ` [PATCH v25 06/33] c++: Implement __is_volatile built-in trait Ken Matsui
2023-10-24 2:00 ` [PATCH v25 07/33] libstdc++: Optimize std::is_volatile compilation performance Ken Matsui
2023-10-24 2:00 ` [PATCH v25 08/33] c++: Implement __is_array built-in trait Ken Matsui
2023-10-24 2:00 ` [PATCH v25 09/33] libstdc++: Optimize std::is_array compilation performance Ken Matsui
2023-10-24 2:00 ` [PATCH v25 10/33] c++: Implement __is_unbounded_array built-in trait Ken Matsui
2023-10-24 2:00 ` [PATCH v25 11/33] libstdc++: Optimize std::is_unbounded_array compilation performance Ken Matsui
2023-10-24 2:00 ` [PATCH v25 12/33] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-10-24 2:00 ` [PATCH v25 13/33] libstdc++: Optimize std::is_bounded_array compilation performance Ken Matsui
2023-10-24 2:00 ` [PATCH v25 14/33] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-10-24 2:00 ` [PATCH v25 15/33] libstdc++: Optimize std::is_scoped_enum compilation performance Ken Matsui
2023-10-24 2:00 ` [PATCH v25 16/33] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 17/33] libstdc++: Optimize std::is_member_pointer compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 18/33] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 19/33] libstdc++: Optimize std::is_member_function_pointer compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 20/33] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 21/33] libstdc++: Optimize std::is_member_object_pointer compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 22/33] c++: Implement __is_reference built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 23/33] libstdc++: Optimize std::is_reference compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 24/33] c++: Implement __is_function built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 25/33] libstdc++: Optimize std::is_function compilation performance Ken Matsui
2023-10-24 11:01 ` Jonathan Wakely
2023-12-07 3:20 ` Ken Matsui
2023-10-24 2:01 ` [PATCH v25 26/33] c++: Implement __is_object built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 27/33] libstdc++: Optimize std::is_object compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 28/33] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 29/33] libstdc++: Optimize std::remove_pointer compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 30/33] c++: Implement __is_pointer built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 31/33] libstdc++: Optimize std::is_pointer compilation performance Ken Matsui
2023-10-24 2:01 ` [PATCH v25 32/33] c++: Implement __is_invocable built-in trait Ken Matsui
2023-10-24 2:01 ` [PATCH v25 33/33] libstdc++: Optimize std::is_invocable compilation performance Ken Matsui
2023-10-24 2:07 ` [PATCH v25 00/33] Optimize type traits " Ken Matsui
2023-12-07 5:11 ` [PATCH v26 00/23] " Ken Matsui
2023-12-10 18:19 ` Jason Merrill
2023-12-11 2:25 ` Ken Matsui
2023-12-16 16:40 ` Jonathan Wakely
2023-12-16 16:56 ` Ken Matsui
2023-12-20 3:22 ` Sandra Loosemore
2023-12-20 15:55 ` Patrick Palka
2023-12-20 17:13 ` Ken Matsui
2023-12-20 19:08 ` [PATCH] testsuite: Remove testsuite_tr1.h Ken Matsui
2023-12-21 13:29 ` Patrick Palka
2023-12-21 15:52 ` Patrick Palka
2023-12-21 19:38 ` Jason Merrill
2023-12-22 9:56 ` Ken Matsui
2023-12-22 10:05 ` [committed] c++: testsuite: Remove testsuite_tr1.h includes Ken Matsui
2023-12-07 5:32 ` [PATCH v26 00/23] Optimize type traits compilation performance Ken Matsui
2023-12-07 5:32 ` [PATCH v26 01/23] c++: Sort built-in traits alphabetically Ken Matsui
2023-12-07 5:32 ` [PATCH v26 02/23] c-family, c++: Look up built-in traits via identifier node Ken Matsui
2023-12-07 5:32 ` [PATCH v26 03/23] c++: Accept the use of built-in trait identifiers Ken Matsui
2023-12-07 5:32 ` [PATCH v26 04/23] c++: Implement __is_array built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 05/23] libstdc++: Optimize std::is_array compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 06/23] c++: Implement __is_bounded_array built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 07/23] libstdc++: Optimize std::is_bounded_array compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 08/23] c++: Implement __is_scoped_enum built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 09/23] libstdc++: Optimize std::is_scoped_enum compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 10/23] c++: Implement __is_member_pointer built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 11/23] libstdc++: Optimize std::is_member_pointer compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 12/23] c++: Implement __is_member_function_pointer built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 13/23] libstdc++: Optimize std::is_member_function_pointer compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 14/23] c++: Implement __is_member_object_pointer built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 15/23] libstdc++: Optimize std::is_member_object_pointer compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 16/23] c++: Implement __is_reference built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 17/23] libstdc++: Optimize std::is_reference compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 18/23] c++: Implement __is_function built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 19/23] libstdc++: Optimize std::is_function compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 20/23] c++: Implement __is_object built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 21/23] libstdc++: Optimize std::is_object compilation performance Ken Matsui
2023-12-07 5:33 ` [PATCH v26 22/23] c++: Implement __remove_pointer built-in trait Ken Matsui
2023-12-07 5:33 ` [PATCH v26 23/23] libstdc++: Optimize std::remove_pointer compilation performance Ken Matsui
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAML+3pUWpJh0Wc=jKHOwULFKhmPX7o1T+fgbGxQm15RW-aii+w@mail.gmail.com' \
--to=kmatsui@cs.washington.edu \
--cc=gcc-patches@gcc.gnu.org \
--cc=kmatsui@gcc.gnu.org \
--cc=libstdc++@gcc.gnu.org \
--cc=ppalka@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).