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