diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2002-01-07 15:52:32 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2002-01-07 15:52:32 -0500 |
commit | 15eb1e433c13bfce36e4b8ad4a4a51c9ba24d4f9 (patch) | |
tree | 6b5ef1607266707a0d0f6ed2997d354976be74da /gcc | |
parent | 20e267130303233419490f5e849367e7cf6a5974 (diff) | |
download | gcc-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/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 2 | ||||
-rw-r--r-- | gcc/cp/method.c | 7 |
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) { |