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
76aa5713
Commit
76aa5713
authored
Jul 10, 2004
by
Richard Henderson
Committed by
Richard Henderson
Jul 10, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR.
From-SVN: r84446
parent
45cc4783
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
6 deletions
+9
-6
gcc/ChangeLog
+4
-0
gcc/builtins.c
+5
-6
No files found.
gcc/ChangeLog
View file @
76aa5713
2004-07-10 Richard Henderson <rth@redhat.com>
* builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR.
2004-07-09 Mike Stump <mrs@apple.com>
* config/darwin.c (no_dead_strip): Add.
...
...
gcc/builtins.c
View file @
76aa5713
...
...
@@ -4483,29 +4483,28 @@ std_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, tree *post_p)
abort
();
#endif
/* Compute the rounded size of the type. */
align
=
PARM_BOUNDARY
/
BITS_PER_UNIT
;
boundary
=
FUNCTION_ARG_BOUNDARY
(
TYPE_MODE
(
type
),
type
);
boundary
=
FUNCTION_ARG_BOUNDARY
(
TYPE_MODE
(
type
),
type
)
/
BITS_PER_UNIT
;
/* Hoist the valist value into a temporary for the moment. */
valist_tmp
=
get_initialized_tmp_var
(
valist
,
pre_p
,
NULL
);
/* va_list pointer is aligned to PARM_BOUNDARY. If argument actually
requires greater alignment, we must perform dynamic alignment. */
if
(
boundary
>
PARM_BOUNDARY
)
if
(
boundary
>
align
)
{
unsigned
byte_bound
=
boundary
/
BITS_PER_UNIT
;
t
=
fold_convert
(
TREE_TYPE
(
valist
),
size_int
(
byte_bound
-
1
));
t
=
fold_convert
(
TREE_TYPE
(
valist
),
size_int
(
boundary
-
1
));
t
=
build2
(
MODIFY_EXPR
,
TREE_TYPE
(
valist
),
valist_tmp
,
build2
(
PLUS_EXPR
,
TREE_TYPE
(
valist
),
valist_tmp
,
t
));
gimplify_and_add
(
t
,
pre_p
);
t
=
fold_convert
(
TREE_TYPE
(
valist
),
size_int
(
-
boundary
));
t
=
build2
(
MODIFY_EXPR
,
TREE_TYPE
(
valist
),
valist_tmp
,
build2
(
BIT_AND_EXPR
,
TREE_TYPE
(
valist
),
valist_tmp
,
t
));
gimplify_and_add
(
t
,
pre_p
);
}
/* Compute the rounded size of the type. */
type_size
=
size_in_bytes
(
type
);
rounded_size
=
round_up
(
type_size
,
align
);
...
...
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