diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-08-23 17:12:23 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-08-23 17:12:23 +0000 |
commit | 94350948fbd3d9e2157f2e39903c78ca0661a25b (patch) | |
tree | 3b18de0b9496900a925203d22eada82d35fb45e4 /gcc/cp/pt.c | |
parent | e282c9c9f5ab1e633571d3ded6e15a81beb690cc (diff) | |
download | gcc-94350948fbd3d9e2157f2e39903c78ca0661a25b.zip gcc-94350948fbd3d9e2157f2e39903c78ca0661a25b.tar.gz gcc-94350948fbd3d9e2157f2e39903c78ca0661a25b.tar.bz2 |
cp-tree.h (DECL_CLONED_FUNCTION_P): Check DECL_LANG_SPECIFIC.
* cp-tree.h (DECL_CLONED_FUNCTION_P): Check DECL_LANG_SPECIFIC.
* mangle.c (write_function_type): Change prototype.
(write_encoding): Don't mangle return types for
constructors or destructors.
(write_type): Adjust call to write_function_type.
* pt.c (instantiate_template): Instantiate alternate entry points
when instantiating the main function.
From-SVN: r35916
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 5fab848..59fe306 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -7420,6 +7420,7 @@ tree instantiate_template (tmpl, targ_ptr) tree tmpl, targ_ptr; { + tree clone; tree fndecl; tree gen_tmpl; tree spec; @@ -7483,6 +7484,13 @@ instantiate_template (tmpl, targ_ptr) if (flag_external_templates) add_pending_template (fndecl); + /* If we've just instantiated the main entry point for a function, + instantiate all the alternate entry points as well. */ + for (clone = TREE_CHAIN (gen_tmpl); + clone && DECL_CLONED_FUNCTION_P (clone); + clone = TREE_CHAIN (clone)) + instantiate_template (clone, targ_ptr); + return fndecl; } |