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
36d06319
Commit
36d06319
authored
May 05, 2014
by
Ian Lance Taylor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
compiler: Use backend interface for set and use temporaries.
From-SVN: r210077
parent
92a87cb7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
9 deletions
+9
-9
gcc/go/gofrontend/expressions.cc
+9
-9
No files found.
gcc/go/gofrontend/expressions.cc
View file @
36d06319
...
...
@@ -890,16 +890,16 @@ Set_and_use_temporary_expression::do_address_taken(bool)
tree
Set_and_use_temporary_expression
::
do_get_tree
(
Translate_context
*
context
)
{
Bvariable
*
bvar
=
this
->
statement_
->
get_backend_variable
(
context
);
tree
var_tree
=
var_to_tree
(
bvar
);
tree
expr_tree
=
this
->
expr_
->
get_tree
(
context
);
if
(
var_tree
==
error_mark_node
||
expr_tree
==
error_mark_node
)
return
error_mark_node
;
Location
loc
=
this
->
location
();
return
build2_loc
(
loc
.
gcc_location
(),
COMPOUND_EXPR
,
TREE_TYPE
(
var_tree
),
build2_loc
(
loc
.
gcc_location
(),
MODIFY_EXPR
,
void_type_node
,
var_tree
,
expr_tree
),
var_tree
);
Gogo
*
gogo
=
context
->
gogo
();
Bvariable
*
bvar
=
this
->
statement_
->
get_backend_variable
(
context
);
Bexpression
*
var_ref
=
gogo
->
backend
()
->
var_expression
(
bvar
,
loc
);
Bexpression
*
bexpr
=
tree_to_expr
(
this
->
expr_
->
get_tree
(
context
));
Bstatement
*
set
=
gogo
->
backend
()
->
assignment_statement
(
var_ref
,
bexpr
,
loc
);
var_ref
=
gogo
->
backend
()
->
var_expression
(
bvar
,
loc
);
Bexpression
*
ret
=
gogo
->
backend
()
->
compound_expression
(
set
,
var_ref
,
loc
);
return
expr_to_tree
(
ret
);
}
// Dump.
...
...
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