r277902 - in /trunk/gcc: cp/ChangeLog cp/class....
jason@gcc.gnu.org
jason@gcc.gnu.org
Thu Nov 7 00:50:00 GMT 2019
Author: jason
Date: Thu Nov 7 00:50:19 2019
New Revision: 277902
URL: https://gcc.gnu.org/viewcvs?rev=277902&root=gcc&view=rev
Log:
Implement D1907R1 "structural type".
ISO C++ paper D1907R1 proposes "structural type" as an alternative to the
current notion of "strong structural equality", which has various problems.
I'm implementing it to give people a chance to try it.
The build_base_field changes are to make it easier for structural_type_p to
see whether a base is private or protected.
* tree.c (structural_type_p): New.
* pt.c (invalid_nontype_parm_type_p): Use it.
* class.c (build_base_field_1): Take binfo. Copy TREE_PRIVATE.
(build_base_field): Pass binfo.
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/g++.dg/cpp2a/udlit-class-nttp-neg2.C
More information about the Gcc-cvs
mailing list