diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-04-04 14:36:19 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-04-04 14:36:19 -0700 |
commit | 0dd532dced00cfcf7f99ee3c6c5003bff0b83cda (patch) | |
tree | ec9dc81249ab6c94fa813dd3a76b1fd19acc106a | |
parent | 2babb33b576139065880a94bcedb6fbc49bad8a0 (diff) | |
download | gcc-0dd532dced00cfcf7f99ee3c6c5003bff0b83cda.zip gcc-0dd532dced00cfcf7f99ee3c6c5003bff0b83cda.tar.gz gcc-0dd532dced00cfcf7f99ee3c6c5003bff0b83cda.tar.bz2 |
(expand_call): If PCC_STATIC_STRUCT_RETURN defined, mark
function as addressable same time as we clear is_integrable.
From-SVN: r6964
-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 7b4589f..c02c732 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 */ { |