PR libstdc++/80251
commitca2af7df2471394b33aa59fbccf95f4c4581818d
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Mar 2017 06:40:39 +0000 (31 06:40 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Mar 2017 06:40:39 +0000 (31 06:40 +0000)
treecdd1f27aaae10888509d5ce06f0f1ca486071e92
parent6ee2f129c785f5c508fa5de9d675e037d890867d
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246609 138bc75d-0d04-0410-961f-82ee72b054a4
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]