r266589 - in /branches/c++-modules: ChangeLog.m...

nathan@gcc.gnu.org nathan@gcc.gnu.org
Wed Nov 28 21:20:00 GMT 2018


Author: nathan
Date: Wed Nov 28 21:20:30 2018
New Revision: 266589

URL: https://gcc.gnu.org/viewcvs?rev=266589&root=gcc&view=rev
Log:
	Global module function declaration merging.
	gcc/cp
	* module.cc (tree_tag): Add tt_gme.
	(trees_in::gmes): New data member.
	(trees_in::tree_node_specific): Add no-alloc flag.
	(trees_in::{tree_gme,reserve_gmes,existing_gme}): New.
	(trees_out::walk_kind): Add WK_gme.
	(trees_out::{mark,tree}_gme): New.
	(trees_out::{ref_node,insert}): Deal with WK_gme walk.
	(trees_out::tree_{decl,value}): Likewise.
	(trees_in::tree_node): Add tt_gme support.
	(cluster_tag): Add ct_gme.
	(module_state::{read,write}_cluster): Add gme support.
	* name-lookup.h (match_global_decl): Declare.
	(add_module_decl): Declare.
	* name-lookup.c (match_global_decl): New.
	(set_module_binding): Don't dedup here.
	(add_module_decl): New.
	gcc/testsuite/
	* g++.dg/modules/leg-merge-1_[abcd].[CH]: New.

Added:
    branches/c++-modules/gcc/testsuite/g++.dg/modules/leg-merge-1_a.H
    branches/c++-modules/gcc/testsuite/g++.dg/modules/leg-merge-1_b.H
    branches/c++-modules/gcc/testsuite/g++.dg/modules/leg-merge-1_c.C
    branches/c++-modules/gcc/testsuite/g++.dg/modules/leg-merge-1_d.C
Modified:
    branches/c++-modules/ChangeLog.modules
    branches/c++-modules/gcc/cp/module.cc
    branches/c++-modules/gcc/cp/name-lookup.c
    branches/c++-modules/gcc/cp/name-lookup.h



More information about the Gcc-cvs mailing list