[C++ PATCH] Add __is_aggregate trait builtin (PR libstdc++/80251)
Jeff Law
law@redhat.com
Fri Mar 31 06:27:00 GMT 2017
On 03/30/2017 02:34 PM, Jakub Jelinek wrote:
> Hi!
>
> As discussed with Jon, libstdc++ needs a GCC builtin in order to implement
> this easily.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2017-03-30 Jakub Jelinek <jakub@redhat.com>
>
> PR libstdc++/80251
> c-family/
> * c-common.h (enum rid): Add RID_IS_AGGREGATE.
> * c-common.c (c_common_reswords): Add __is_aggregate trait.
> * cp-tree.h (enum cp_trait_kind): Add CPTK_IS_AGGREGATE.
> * cxx-pretty-print.c (pp_cxx_trait_expression): Handle
> CPTK_IS_AGGREGATE.
> * semantics.c (trait_expr_value): Handle CPTK_IS_AGGREGATE.
> Remove extraneous parens.
> (finish_trait_expr): Handle CPTK_IS_AGGREGATE.
> * parser.c (cp_parser_primary_expression): Handle RID_IS_AGGREGATE.
> (cp_parser_trait_expr): Likewise.
> testsuite/
> * g++.dg/ext/is_aggregate.C: New test.
OK.
jeff
More information about the Libstdc++
mailing list