[Bug libstdc++/80251] Is the is_aggregate meta function missing?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80251 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |7.0
[Bug libstdc++/80251] Is the is_aggregate meta function missing?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80251 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #5 from Jakub Jelinek --- Author: ville Date: Mon Apr 3 15:57:06 2017 New Revision: 246651 URL: https://gcc.gnu.org/viewcvs?rev=246651=gcc=rev Log: Implement std::is_aggregate. * include/std/type_traits (is_aggregate, is_aggregate_v): New. * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: New. * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_aggregate/value.cc: Likewise. Added: trunk/libstdc++-v3/testsuite/20_util/is_aggregate/ trunk/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/ trunk/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc trunk/libstdc++-v3/testsuite/20_util/is_aggregate/requirements/typedefs.cc trunk/libstdc++-v3/testsuite/20_util/is_aggregate/value.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/type_traits
[Bug libstdc++/80251] Is the is_aggregate meta function missing?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80251 --- Comment #4 from Jakub Jelinek --- Author: jakub Date: Fri Mar 31 06:40:39 2017 New Revision: 246609 URL: https://gcc.gnu.org/viewcvs?rev=246609=gcc=rev Log: 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. Added: trunk/gcc/testsuite/g++.dg/ext/is_aggregate.C Modified: trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-common.h trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/cxx-pretty-print.c trunk/gcc/cp/parser.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug libstdc++/80251] Is the is_aggregate meta function missing?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80251 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek --- Created attachment 41090 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41090=edit gcc7-pr80251.patch The compiler side (untested so far, except for make check-c++-all RUNTESTFLAGS=dg.exp=is_aggr*).
[Bug libstdc++/80251] Is the is_aggregate meta function missing?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80251 --- Comment #2 from Jonathan Wakely --- It's only existed for less than a month,. and it requires a new intrinsic from the compiler which doesn't exist yet.
[Bug libstdc++/80251] Is the is_aggregate meta function missing?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80251 --- Comment #1 from gcc-bugs at marehr dot dialup.fu-berlin.de --- I'm sorry for the inconvenience! I didn't see that is_aggregate was just a recent addition to the standard [1]. I just wanted to see if I can check at compile time if my data structure is an aggregate type, like I can do with is_pod. And I just happened to find such a function on cppreference, but I didn't realize that this was added quite recently. [1] http://open-std.org/JTC1/SC22/WG21/docs/papers/2017/p0625r0.html#2911