diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-04-04 21:36:19 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-04-04 21:36:19 +0000 |
commit | d7e12e9e96e44ef4134f5f346309471df2b75ec0 (patch) | |
tree | ec9dc81249ab6c94fa813dd3a76b1fd19acc106a /gcc/calls.c | |
parent | 92ded618a3a6a0341b01115270a7ff2c9849bf97 (diff) | |
download | gcc-d7e12e9e96e44ef4134f5f346309471df2b75ec0.tar.gz |
(expand_call): If PCC_STATIC_STRUCT_RETURN defined, mark
function as addressable same time as we clear is_integrable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6964 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 7b4589fb04d..c02c732a232 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -631,7 +631,15 @@ expand_call (exp, target, ignore) #ifdef PCC_STATIC_STRUCT_RETURN { pcc_struct_value = 1; - is_integrable = 0; /* Easier than making that case work right. */ + /* Easier than making that case work right. */ + if (is_integrable) + { + /* In case this is a static function, note that it has been + used. */ + if (! TREE_ADDRESSABLE (fndecl)) + mark_addressable (fndecl); + is_integrable = 0; + } } #else /* not PCC_STATIC_STRUCT_RETURN */ { |