Implement P0017R1, C++17 aggregates with bases.
authorJason Merrill <jason@redhat.com>
Fri, 14 Oct 2016 21:54:39 +0000 (17:54 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 14 Oct 2016 21:54:39 +0000 (17:54 -0400)
commitec2416b5fff0e603e94ee98c1042003812847b59
tree20dc5c1492c844c3ef6699033ebb18974cd22f91
parentefc5aa6bc7c686b302c5d7fd7f65e3f6361961e1
Implement P0017R1, C++17 aggregates with bases.

* class.c (build_base_field_1): Split out from...
(build_base_field): ...here.  In C++17 mode, build a field for
empty bases.
* decl.c (xref_basetypes): In C++17 aggregates can have bases.
(next_initializable_field): Allow base fields in C++17.
* typeck2.c (process_init_constructor_record): Likewise.

From-SVN: r241187
12 files changed:
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/decl.c
gcc/cp/typeck2.c
gcc/testsuite/g++.dg/cpp1z/aggr-base1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base1a.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base2a.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/aggr-base6.C [new file with mode: 0644]