From dded5f78ccb785520804444871a7b6ca4b735370 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 8 Dec 2020 10:38:10 -0800 Subject: c++: template and clone fns for modules We need to expose build_cdtor_clones, it fortunately has the desired API -- gosh, how did that happen? :) The template machinery will need to cache path-of-instantiation information, so add two more fields to the tinst_level struct. I also had to adjust the match_mergeable_specialization API since adding it, so including that change too. gcc/cp/ * cp-tree.h (struct tinst_level): Add path & visible fields. (build_cdtor_clones): Declare. (match_mergeable_specialization): Use a spec_entry, add insert parm. * class.c (build_cdtor_clones): Externalize. * pt.c (push_tinst_level_loc): Clear new fields. (match_mergeable_specialization): Adjust API. --- gcc/cp/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cp/class.c') diff --git a/gcc/cp/class.c b/gcc/cp/class.c index ec47b06..2ab123d 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -4920,7 +4920,7 @@ build_clone (tree fn, tree name, bool need_vtt_parm_p, /* Build the clones of FN, return the number of clones built. These will be inserted onto DECL_CHAIN of FN. */ -static void +void build_cdtor_clones (tree fn, bool needs_vtt_p, bool base_omits_inherited_p, bool update_methods) { -- cgit v1.1