re PR libstdc++/80251 (Is the is_aggregate meta function missing?)
authorJakub Jelinek <jakub@redhat.com>
Fri, 31 Mar 2017 06:40:39 +0000 (08:40 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 31 Mar 2017 06:40:39 +0000 (08:40 +0200)
commitaf88f55707d3373b94c02237af2863d2ad700063
treecdd1f27aaae10888509d5ce06f0f1ca486071e92
parent7d790165457c7c6912ed98da4a64d9b020c6f483
re PR libstdc++/80251 (Is the is_aggregate meta function missing?)

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/
* 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.

From-SVN: r246609
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c-common.h
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/cxx-pretty-print.c
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/is_aggregate.C [new file with mode: 0644]