r254399 - in /branches/c++-modules: ChangeLog.m...
nathan@gcc.gnu.org
nathan@gcc.gnu.org
Fri Nov 3 20:59:00 GMT 2017
Author: nathan
Date: Fri Nov 3 20:59:40 2017
New Revision: 254399
URL: https://gcc.gnu.org/viewcvs?rev=254399&root=gcc&view=rev
Log:
Virtual bases!
gcc/cp/
* Make-lang.in: module.o depends on revision
* class.c (layout_class_type): Unnamed types do not get base
types.
* cxx-module-wrapper.sh: Invoke make. Strip bad args.
* module.c (module_context): Allow NULL context.
(cpms_{in,out}::define_class): Deal with classtype_as_base.
(cpms_{in,out}::tag_definition): Allow raw class.
(cpms_{in,out}:ident_imported_decl: Rework class scope.
(cpms_out::tree_node): Deal with NULL module context.
* name-lookup.c (maybe_lazily_declare): Break out of ...
(get_class_binding): ... here. Call it.
(get_ident_in_class, find_by_ident_in_class): New.
* name-lookup.h (get_ident_in_class, find_by_ident_in_class): Declare.
gcc/testsuite/
* g++.dg/modules/class-7_[abc].C: New.
* g++.dg/modules/main.cc: Move to ...
* g++.dg/modules/main_a.C: ... here. Adjust.
* g++.dg/modules/modules.exp: Remove main.cc exceptionalism.
Added:
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-7_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-7_b.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-7_c.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/main_a.C
Removed:
branches/c++-modules/gcc/testsuite/g++.dg/modules/main.cc
Modified:
branches/c++-modules/ChangeLog.modules
branches/c++-modules/gcc/cp/Make-lang.in
branches/c++-modules/gcc/cp/class.c
branches/c++-modules/gcc/cp/cxx-module-wrapper.sh
branches/c++-modules/gcc/cp/module.c
branches/c++-modules/gcc/cp/name-lookup.c
branches/c++-modules/gcc/cp/name-lookup.h
branches/c++-modules/gcc/testsuite/g++.dg/modules/modules.exp
More information about the Gcc-cvs
mailing list