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
d4290eca
Commit
d4290eca
authored
Jan 22, 2015
by
Ian Lance Taylor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
compiler: Prohibit use of ellipsis operator on multi-valued calls.
Fixes golang/go#9525. From-SVN: r219984
parent
fad513aa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
0 deletions
+11
-0
gcc/go/gofrontend/expressions.cc
+11
-0
No files found.
gcc/go/gofrontend/expressions.cc
View file @
d4290eca
...
@@ -8580,6 +8580,17 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function,
...
@@ -8580,6 +8580,17 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function,
{
{
Call_expression
*
call
=
this
->
args_
->
front
()
->
call_expression
();
Call_expression
*
call
=
this
->
args_
->
front
()
->
call_expression
();
call
->
set_is_multi_value_arg
();
call
->
set_is_multi_value_arg
();
if
(
this
->
is_varargs_
)
{
// It is not clear which result of a multiple result call
// the ellipsis operator should be applied to. If we unpack the
// the call into its individual results here, the ellipsis will be
// applied to the last result.
error_at
(
call
->
location
(),
_
(
"multiple-value argument in single-value context"
));
return
Expression
::
make_error
(
call
->
location
());
}
Expression_list
*
args
=
new
Expression_list
;
Expression_list
*
args
=
new
Expression_list
;
for
(
size_t
i
=
0
;
i
<
rc
;
++
i
)
for
(
size_t
i
=
0
;
i
<
rc
;
++
i
)
args
->
push_back
(
Expression
::
make_call_result
(
call
,
i
));
args
->
push_back
(
Expression
::
make_call_result
(
call
,
i
));
...
...
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