Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
30082223
Commit
30082223
authored
Jun 14, 1993
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(expand_call): If PCC_STATIC_STRUCT_RETURN and TARGET
is zero, copy result from static location. From-SVN: r4677
parent
34f921d8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
8 deletions
+14
-8
gcc/calls.c
+14
-8
No files found.
gcc/calls.c
View file @
30082223
...
@@ -1838,15 +1838,21 @@ expand_call (exp, target, ignore)
...
@@ -1838,15 +1838,21 @@ expand_call (exp, target, ignore)
{
{
if
(
target
==
0
)
if
(
target
==
0
)
{
{
target
=
gen_rtx
(
MEM
,
TYPE_MODE
(
TREE_TYPE
(
exp
)),
/* We used leave the value in the location that it is
copy_to_reg
(
valreg
));
returned in, but that causes problems if it is used more
MEM_IN_STRUCT_P
(
target
)
than once in one expression. Rather than trying to track
=
(
TREE_CODE
(
TREE_TYPE
(
exp
))
==
ARRAY_TYPE
when a copy is required, we always copy when TARGET is
||
TREE_CODE
(
TREE_TYPE
(
exp
))
==
RECORD_TYPE
not specified. This calling sequence is only used on
||
TREE_CODE
(
TREE_TYPE
(
exp
))
==
UNION_TYPE
a few machines and TARGET is usually nonzero. */
||
TREE_CODE
(
TREE_TYPE
(
exp
))
==
QUAL_UNION_TYPE
);
if
(
TYPE_MODE
(
TREE_TYPE
(
exp
))
==
BLKmode
)
target
=
assign_stack_temp
(
BLKmode
,
int_size_in_bytes
(
TREE_TYPE
(
exp
)),
1
);
else
target
=
gen_reg_rtx
(
TYPE_MODE
(
TREE_TYPE
(
exp
)));
}
}
else
if
(
TYPE_MODE
(
TREE_TYPE
(
exp
))
!=
BLKmode
)
if
(
TYPE_MODE
(
TREE_TYPE
(
exp
))
!=
BLKmode
)
emit_move_insn
(
target
,
gen_rtx
(
MEM
,
TYPE_MODE
(
TREE_TYPE
(
exp
)),
emit_move_insn
(
target
,
gen_rtx
(
MEM
,
TYPE_MODE
(
TREE_TYPE
(
exp
)),
copy_to_reg
(
valreg
)));
copy_to_reg
(
valreg
)));
else
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment