summaryrefslogtreecommitdiff
path: root/src/cmd/5a
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2014-05-21 14:28:34 -0700
committerKeith Randall <khr@golang.org>2014-05-21 14:28:34 -0700
commit2dd977aa1c957ba10fee4bf9de0b6e5abb96991f (patch)
tree5c31d06eea4b056ba16c541fa500c46c61962b05 /src/cmd/5a
parent3aece98fd2049f4feb6387c05bf210625e438e18 (diff)
downloadgo-2dd977aa1c957ba10fee4bf9de0b6e5abb96991f.tar.gz
runtime: provide gc maps for the reflect.callXX frames.
Update issue 8030 LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/100620045
Diffstat (limited to 'src/cmd/5a')
-rw-r--r--src/cmd/5a/a.y2
-rw-r--r--src/cmd/5a/y.tab.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/5a/a.y b/src/cmd/5a/a.y
index 639535994..56d0c563d 100644
--- a/src/cmd/5a/a.y
+++ b/src/cmd/5a/a.y
@@ -336,7 +336,7 @@ inst:
{
if($2.type != D_CONST)
yyerror("index for FUNCDATA must be integer constant");
- if($4.type != D_EXTERN && $4.type != D_STATIC)
+ if($4.type != D_EXTERN && $4.type != D_STATIC && $4.type != D_OREG)
yyerror("value for FUNCDATA must be symbol reference");
outcode($1, Always, &$2, NREG, &$4);
}
diff --git a/src/cmd/5a/y.tab.c b/src/cmd/5a/y.tab.c
index 67712d2c8..0bc8c34e1 100644
--- a/src/cmd/5a/y.tab.c
+++ b/src/cmd/5a/y.tab.c
@@ -2120,7 +2120,7 @@ yyreduce:
{
if((yyvsp[(2) - (4)].addr).type != D_CONST)
yyerror("index for FUNCDATA must be integer constant");
- if((yyvsp[(4) - (4)].addr).type != D_EXTERN && (yyvsp[(4) - (4)].addr).type != D_STATIC)
+ if((yyvsp[(4) - (4)].addr).type != D_EXTERN && (yyvsp[(4) - (4)].addr).type != D_STATIC && (yyvsp[(4) - (4)].addr).type != D_OREG)
yyerror("value for FUNCDATA must be symbol reference");
outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), NREG, &(yyvsp[(4) - (4)].addr));
}