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
19e3f61a
Commit
19e3f61a
authored
Mar 01, 2000
by
Jason Merrill
Committed by
Jason Merrill
Feb 29, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* calls.c (emit_library_call): Check for null REG.
From-SVN: r32270
parent
1fcd0c12
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
10 deletions
+16
-10
gcc/ChangeLog
+4
-0
gcc/calls.c
+12
-10
No files found.
gcc/ChangeLog
View file @
19e3f61a
2000
-
02
-
29
Jason
Merrill
<
jason
@casey
.
cygnus
.
com
>
*
calls
.
c
(
emit_library_call
)
:
Check
for
null
REG
.
2000
-
03
-
01
Martin
von
Loewis
<
loewis
@informatik
.
hu
-
berlin
.
de
>
2000
-
03
-
01
Martin
von
Loewis
<
loewis
@informatik
.
hu
-
berlin
.
de
>
*
c
-
decl
.
c
(
current_function_decl
)
:
Move
to
toplev
.
c
.
*
c
-
decl
.
c
(
current_function_decl
)
:
Move
to
toplev
.
c
.
...
...
gcc/calls.c
View file @
19e3f61a
...
@@ -3086,7 +3086,7 @@ emit_library_call VPARAMS((rtx orgfun, int no_queue, enum machine_mode outmode,
...
@@ -3086,7 +3086,7 @@ emit_library_call VPARAMS((rtx orgfun, int no_queue, enum machine_mode outmode,
/* Handle calls that pass values in multiple non-contiguous
/* Handle calls that pass values in multiple non-contiguous
locations. The PA64 has examples of this for library calls. */
locations. The PA64 has examples of this for library calls. */
if
(
GET_CODE
(
reg
)
==
PARALLEL
)
if
(
reg
!=
0
&&
GET_CODE
(
reg
)
==
PARALLEL
)
emit_group_load
(
reg
,
val
,
emit_group_load
(
reg
,
val
,
GET_MODE_SIZE
(
GET_MODE
(
val
)),
GET_MODE_SIZE
(
GET_MODE
(
val
)),
GET_MODE_ALIGNMENT
(
GET_MODE
(
val
)));
GET_MODE_ALIGNMENT
(
GET_MODE
(
val
)));
...
@@ -3103,10 +3103,11 @@ emit_library_call VPARAMS((rtx orgfun, int no_queue, enum machine_mode outmode,
...
@@ -3103,10 +3103,11 @@ emit_library_call VPARAMS((rtx orgfun, int no_queue, enum machine_mode outmode,
/* Any regs containing parms remain in use through the call. */
/* Any regs containing parms remain in use through the call. */
for
(
count
=
0
;
count
<
nargs
;
count
++
)
for
(
count
=
0
;
count
<
nargs
;
count
++
)
{
{
if
(
GET_CODE
(
argvec
[
count
].
reg
)
==
PARALLEL
)
rtx
reg
=
argvec
[
count
].
reg
;
use_group_regs
(
&
call_fusage
,
argvec
[
count
].
reg
);
if
(
reg
!=
0
&&
GET_CODE
(
argvec
[
count
].
reg
)
==
PARALLEL
)
else
if
(
argvec
[
count
].
reg
!=
0
)
use_group_regs
(
&
call_fusage
,
reg
);
use_reg
(
&
call_fusage
,
argvec
[
count
].
reg
);
else
if
(
reg
!=
0
)
use_reg
(
&
call_fusage
,
reg
);
}
}
/* Don't allow popping to be deferred, since then
/* Don't allow popping to be deferred, since then
...
@@ -3673,7 +3674,7 @@ emit_library_call_value VPARAMS((rtx orgfun, rtx value, int no_queue,
...
@@ -3673,7 +3674,7 @@ emit_library_call_value VPARAMS((rtx orgfun, rtx value, int no_queue,
/* Handle calls that pass values in multiple non-contiguous
/* Handle calls that pass values in multiple non-contiguous
locations. The PA64 has examples of this for library calls. */
locations. The PA64 has examples of this for library calls. */
if
(
GET_CODE
(
reg
)
==
PARALLEL
)
if
(
reg
!=
0
&&
GET_CODE
(
reg
)
==
PARALLEL
)
emit_group_load
(
reg
,
val
,
emit_group_load
(
reg
,
val
,
GET_MODE_SIZE
(
GET_MODE
(
val
)),
GET_MODE_SIZE
(
GET_MODE
(
val
)),
GET_MODE_ALIGNMENT
(
GET_MODE
(
val
)));
GET_MODE_ALIGNMENT
(
GET_MODE
(
val
)));
...
@@ -3692,10 +3693,11 @@ emit_library_call_value VPARAMS((rtx orgfun, rtx value, int no_queue,
...
@@ -3692,10 +3693,11 @@ emit_library_call_value VPARAMS((rtx orgfun, rtx value, int no_queue,
/* Any regs containing parms remain in use through the call. */
/* Any regs containing parms remain in use through the call. */
for
(
count
=
0
;
count
<
nargs
;
count
++
)
for
(
count
=
0
;
count
<
nargs
;
count
++
)
{
{
if
(
GET_CODE
(
argvec
[
count
].
reg
)
==
PARALLEL
)
rtx
reg
=
argvec
[
count
].
reg
;
use_group_regs
(
&
call_fusage
,
argvec
[
count
].
reg
);
if
(
reg
!=
0
&&
GET_CODE
(
reg
)
==
PARALLEL
)
else
if
(
argvec
[
count
].
reg
!=
0
)
use_group_regs
(
&
call_fusage
,
reg
);
use_reg
(
&
call_fusage
,
argvec
[
count
].
reg
);
else
if
(
reg
!=
0
)
use_reg
(
&
call_fusage
,
reg
);
}
}
/* Pass the function the address in which to return a structure value. */
/* Pass the function the address in which to return a structure value. */
...
...
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