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
f7130778
Commit
f7130778
authored
Dec 05, 2001
by
Douglas B Rupp
Committed by
Richard Kenner
Dec 05, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/alpha/alpha.c (alpha_va_start): Update VMS case.
From-SVN: r47670
parent
4ee43206
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
17 deletions
+34
-17
gcc/ChangeLog
+4
-0
gcc/config/alpha/alpha.c
+30
-17
No files found.
gcc/ChangeLog
View file @
f7130778
Wed
Dec
5
07
:
41
:
13
2001
Douglas
B
.
Rupp
<
rupp
@gnat
.
com
>
*
config
/
alpha
/
alpha
.
c
(
alpha_va_start
)
:
Update
VMS
case
.
Wed
Dec
5
07
:
27
:
42
2001
Richard
Kenner
<
kenner
@vlsi1
.
ultra
.
nyu
.
edu
>
Douglas
B
.
Rupp
<
rupp
@gnat
.
com
>
...
...
gcc/config/alpha/alpha.c
View file @
f7130778
...
...
@@ -5482,7 +5482,7 @@ alpha_va_start (stdarg_p, valist, nextarg)
if
(
TREE_CODE
(
TREE_TYPE
(
valist
))
==
ERROR_MARK
)
return
;
if
(
TARGET_ABI_
OPEN_VMS
||
TARGET_ABI_
UNICOSMK
)
if
(
TARGET_ABI_UNICOSMK
)
std_expand_builtin_va_start
(
stdarg_p
,
valist
,
nextarg
);
/* For Unix, SETUP_INCOMING_VARARGS moves the starting address base
...
...
@@ -5495,28 +5495,41 @@ alpha_va_start (stdarg_p, valist, nextarg)
in argsize above, but which are not actually stored on the stack. */
if
(
NUM_ARGS
<=
5
+
stdarg_p
)
offset
=
6
*
UNITS_PER_WORD
;
offset
=
TARGET_ABI_OPEN_VMS
?
UNITS_PER_WORD
:
6
*
UNITS_PER_WORD
;
else
offset
=
-
6
*
UNITS_PER_WORD
;
base_field
=
TYPE_FIELDS
(
TREE_TYPE
(
valist
));
offset_field
=
TREE_CHAIN
(
base_field
);
if
(
TARGET_ABI_OPEN_VMS
)
{
nextarg
=
plus_constant
(
nextarg
,
offset
);
nextarg
=
plus_constant
(
nextarg
,
NUM_ARGS
*
UNITS_PER_WORD
);
t
=
build
(
MODIFY_EXPR
,
TREE_TYPE
(
valist
),
valist
,
make_tree
(
ptr_type_node
,
nextarg
));
TREE_SIDE_EFFECTS
(
t
)
=
1
;
base_field
=
build
(
COMPONENT_REF
,
TREE_TYPE
(
base_field
),
valist
,
base_field
);
offset_field
=
build
(
COMPONENT_REF
,
TREE_TYPE
(
offset_field
),
valist
,
offset_field
);
expand_expr
(
t
,
const0_rtx
,
VOIDmode
,
EXPAND_NORMAL
);
}
else
{
base_field
=
TYPE_FIELDS
(
TREE_TYPE
(
valist
));
offset_field
=
TREE_CHAIN
(
base_field
);
t
=
make_tree
(
ptr_type_node
,
virtual_incoming_args_rtx
);
t
=
build
(
PLUS_EXPR
,
ptr_type_node
,
t
,
build_int_2
(
offset
,
0
));
t
=
build
(
MODIFY_EXPR
,
TREE_TYPE
(
base_field
),
base_field
,
t
);
TREE_SIDE_EFFECTS
(
t
)
=
1
;
expand_expr
(
t
,
const0_rtx
,
VOIDmode
,
EXPAND_NORMAL
);
base_field
=
build
(
COMPONENT_REF
,
TREE_TYPE
(
base_field
),
valist
,
base_field
);
offset_field
=
build
(
COMPONENT_REF
,
TREE_TYPE
(
offset_field
),
valist
,
offset_field
);
t
=
build_int_2
(
NUM_ARGS
*
UNITS_PER_WORD
,
0
);
t
=
build
(
MODIFY_EXPR
,
TREE_TYPE
(
offset_field
),
offset_field
,
t
);
TREE_SIDE_EFFECTS
(
t
)
=
1
;
expand_expr
(
t
,
const0_rtx
,
VOIDmode
,
EXPAND_NORMAL
);
t
=
make_tree
(
ptr_type_node
,
virtual_incoming_args_rtx
);
t
=
build
(
PLUS_EXPR
,
ptr_type_node
,
t
,
build_int_2
(
offset
,
0
));
t
=
build
(
MODIFY_EXPR
,
TREE_TYPE
(
base_field
),
base_field
,
t
);
TREE_SIDE_EFFECTS
(
t
)
=
1
;
expand_expr
(
t
,
const0_rtx
,
VOIDmode
,
EXPAND_NORMAL
);
t
=
build_int_2
(
NUM_ARGS
*
UNITS_PER_WORD
,
0
);
t
=
build
(
MODIFY_EXPR
,
TREE_TYPE
(
offset_field
),
offset_field
,
t
);
TREE_SIDE_EFFECTS
(
t
)
=
1
;
expand_expr
(
t
,
const0_rtx
,
VOIDmode
,
EXPAND_NORMAL
);
}
}
rtx
...
...
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