aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2002-01-07 15:52:32 -0500
committerJason Merrill <jason@gcc.gnu.org>2002-01-07 15:52:32 -0500
commit15eb1e433c13bfce36e4b8ad4a4a51c9ba24d4f9 (patch)
tree6b5ef1607266707a0d0f6ed2997d354976be74da /gcc
parent20e267130303233419490f5e849367e7cf6a5974 (diff)
downloadgcc-15eb1e433c13bfce36e4b8ad4a4a51c9ba24d4f9.zip
gcc-15eb1e433c13bfce36e4b8ad4a4a51c9ba24d4f9.tar.gz
gcc-15eb1e433c13bfce36e4b8ad4a4a51c9ba24d4f9.tar.bz2
decl2.c (coerce_new_type): Downgrade error for size_t mismatch to pedwarn.
* decl2.c (coerce_new_type): Downgrade error for size_t mismatch to pedwarn. * method.c (make_thunk): If !flag_weak, give the thunk the function's linkage. (use_thunk): Here, too. From-SVN: r48613
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog11
-rw-r--r--gcc/cp/decl2.c2
-rw-r--r--gcc/cp/method.c7
3 files changed, 17 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d5a7c651..035408e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,12 @@
+2002-01-07 Jason Merrill <jason@redhat.com>
+
+ * decl2.c (coerce_new_type): Downgrade error for size_t mismatch
+ to pedwarn.
+
+ * method.c (make_thunk): If !flag_weak, give the thunk the
+ function's linkage.
+ (use_thunk): Here, too.
+
2002-01-07 Graham Stott <grahams@redhat.com>
* error.c: Update copyright date.
@@ -221,7 +230,7 @@
2002-01-05 Richard Henderson <rth@redhat.com>
- * semantics.c (expand_body): Revert last change.
+ * semantics.c (expand_body): Revert last change.
2002-01-04 Jason Merrill <jason@redhat.com>
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 04f77c9..efc1abd 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2064,7 +2064,7 @@ coerce_new_type (type)
e = 2;
if (args && args != void_list_node)
args = TREE_CHAIN (args);
- error ("`operator new' takes type `size_t' (`%T') as first parameter", c_size_type_node);
+ pedwarn ("`operator new' takes type `size_t' (`%T') as first parameter", c_size_type_node);
}
switch (e)
{
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 759bfbe..288b897 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -338,7 +338,9 @@ make_thunk (function, delta, vcall_index)
DECL_CONTEXT (thunk) = DECL_CONTEXT (func_decl);
TREE_READONLY (thunk) = TREE_READONLY (func_decl);
TREE_THIS_VOLATILE (thunk) = TREE_THIS_VOLATILE (func_decl);
- comdat_linkage (thunk);
+ TREE_PUBLIC (thunk) = TREE_PUBLIC (func_decl);
+ if (flag_weak)
+ comdat_linkage (thunk);
SET_DECL_THUNK_P (thunk);
DECL_INITIAL (thunk) = function;
THUNK_DELTA (thunk) = d;
@@ -409,6 +411,9 @@ use_thunk (thunk_fndecl, emit_p)
mark_used (thunk_fndecl);
/* This thunk is actually defined. */
DECL_EXTERNAL (thunk_fndecl) = 0;
+ /* The linkage of the function may have changed. FIXME in linkage
+ rewrite. */
+ TREE_PUBLIC (thunk_fndecl) = TREE_PUBLIC (function);
if (flag_syntax_only)
{