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
dc38a610
Commit
dc38a610
authored
Aug 31, 2005
by
Fariborz Jahanian
Committed by
Fariborz Jahanian
Aug 31, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix ppc -m64 constant address expression expansion bug.
Oked by Richard Henderson. From-SVN: r103676
parent
f471f0fc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
1 deletions
+40
-1
gcc/ChangeLog
+6
-0
gcc/expr.c
+1
-1
gcc/testsuite/gcc.c-torture/execute/const-addr-expr-1.c
+33
-0
No files found.
gcc/ChangeLog
View file @
dc38a610
2005
-
08
-
31
Fariborz
Jahanian
<
fjahanian
@apple
.
com
>
*
expr
.
c
(
expand_expr_real_1
)
:
Compare
size
of
address
mode
to
target
'
s
address
mode
size
in
deciding
expansion
of
the
constant
address
.
2005
-
08
-
31
Richard
Guenther
<
rguenther
@suse
.
de
>
PR
middle
-
end
/
23477
...
...
gcc/expr.c
View file @
dc38a610
...
...
@@ -7673,7 +7673,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
}
else
if
(
TREE_CODE
(
TREE_OPERAND
(
exp
,
1
))
==
INTEGER_CST
&&
GET_MODE_BITSIZE
(
mode
)
<=
HOST_BITS_PER_INT
&&
GET_MODE_BITSIZE
(
mode
)
<=
HOST_BITS_PER_
WIDE_
INT
&&
TREE_CONSTANT
(
TREE_OPERAND
(
exp
,
0
)))
{
rtx
constant_part
;
...
...
gcc/testsuite/gcc.c-torture/execute/const-addr-expr-1.c
0 → 100644
View file @
dc38a610
#include <stdio.h>
#include <stdlib.h>
extern
void
abort
();
typedef
struct
foo
{
int
uaattrid
;
char
*
name
;
}
FOO
;
FOO
Upgrade_items
[]
=
{
{
1
,
"1"
},
{
2
,
"2"
},
{
0
,
NULL
}
};
int
*
Upgd_minor_ID
=
(
int
*
)
&
((
Upgrade_items
+
1
)
->
uaattrid
);
int
*
Upgd_minor_ID1
=
(
int
*
)
&
((
Upgrade_items
)
->
uaattrid
);
int
main
(
int
argc
,
char
**
argv
)
{
if
(
*
Upgd_minor_ID
!=
2
)
abort
();
if
(
*
Upgd_minor_ID1
!=
1
)
abort
();
return
0
;
}
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