From 15eb1e433c13bfce36e4b8ad4a4a51c9ba24d4f9 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 7 Jan 2002 15:52:32 -0500 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 11 ++++++++++- gcc/cp/decl2.c | 2 +- gcc/cp/method.c | 7 ++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d5a7c651451..035408e0177 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,12 @@ +2002-01-07 Jason Merrill + + * 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 * error.c: Update copyright date. @@ -221,7 +230,7 @@ 2002-01-05 Richard Henderson - * semantics.c (expand_body): Revert last change. + * semantics.c (expand_body): Revert last change. 2002-01-04 Jason Merrill diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 04f77c9c00e..efc1abd2be4 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 759bfbebd85..288b897c4b7 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) { -- 2.30.2