diff options
author | Jason Merrill <jason@redhat.com> | 2019-12-10 15:10:59 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2019-12-10 15:10:59 -0500 |
commit | 09b661cea17a144e68009ecdf61a92a05bf852dd (patch) | |
tree | 1b9cad92725bcc9fdcbf79f2494fde214906af93 /gcc/cfgexpand.c | |
parent | 1fb81d83a8857770be56df19c8a3b4e0ca87c71c (diff) | |
download | gcc-09b661cea17a144e68009ecdf61a92a05bf852dd.zip gcc-09b661cea17a144e68009ecdf61a92a05bf852dd.tar.gz gcc-09b661cea17a144e68009ecdf61a92a05bf852dd.tar.bz2 |
Fix C++20 structural type vs. private base.
In my patch to implement C++20 "structural type" I tried to set the access
flags on the artificial base fields appropriately, but failed. I was
copying TREE_PRIVATE from the binfo, but TREE_PRIVATE on binfo is just a
temporary cache for dfs_access_in_type; we really need to get the
inheritance access information from BINFO_BASE_ACCESSES.
* class.c (build_base_field_1): Take access parameter.
(build_base_field): Likewise.
(build_base_fields, layout_virtual_bases): Pass it.
* tree.c (structural_type_p): Improve private base diagnostic.
From-SVN: r279184
Diffstat (limited to 'gcc/cfgexpand.c')
0 files changed, 0 insertions, 0 deletions