aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-07-04 19:41:32 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-07-04 19:41:32 +0000
commit3aaf7c71389c38f6da0360d95e7458d948a8f4cb (patch)
tree90113ca578ef74c1091e0c72d53c10d0a00cf194 /gcc/cp
parent06a9b53f08369e3d1a88af7461685fca40519514 (diff)
downloadgcc-3aaf7c71389c38f6da0360d95e7458d948a8f4cb.zip
gcc-3aaf7c71389c38f6da0360d95e7458d948a8f4cb.tar.gz
gcc-3aaf7c71389c38f6da0360d95e7458d948a8f4cb.tar.bz2
method.c (implicitly_declare_fn): Set linkage of generated functions.
* method.c (implicitly_declare_fn): Set linkage of generated functions. From-SVN: r84092
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/method.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 4703ed8..a15f152 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-04 Mark Mitchell <mark@codesourcery.com>
+
+ * method.c (implicitly_declare_fn): Set linkage of generated
+ functions.
+
2004-07-04 Richard Henderson <rth@redhat.com>
* typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 8745dce..b7abe96 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1018,6 +1018,7 @@ implicitly_declare_fn (special_function_kind kind, tree type, bool const_p)
grokclassfn (type, fn, kind == sfk_destructor ? DTOR_FLAG : NO_SPECIAL,
TYPE_UNQUALIFIED);
grok_special_member_properties (fn);
+ TREE_PUBLIC (fn) = !decl_function_context (TYPE_MAIN_DECL (type));
cp_finish_decl (fn, /*init=*/NULL_TREE, /*asmspec_tree=*/NULL_TREE,
/*flags=*/LOOKUP_ONLYCONVERTING);
DECL_IN_AGGR_P (fn) = 1;