aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-08-26 10:32:19 +0200
committerFredrik Gustafsson <[email protected]>2013-08-26 10:32:19 +0200
commite2c0f6dd1fc9b6bd506a481644b9c63f9d575aa1 (patch)
treefbdaa017469d150bb49ffdd0d562dccfe39f2be4 /lib/compiler/src
parent5e2876e4524eb7de61a6d3661e0bfe1a22472668 (diff)
parent9bde1306674b2e69396822ab98fa7997f9188592 (diff)
downloadotp-e2c0f6dd1fc9b6bd506a481644b9c63f9d575aa1.tar.gz
otp-e2c0f6dd1fc9b6bd506a481644b9c63f9d575aa1.tar.bz2
otp-e2c0f6dd1fc9b6bd506a481644b9c63f9d575aa1.zip
Merge branch 'nox/match-context-return/OTP-11247' into maint
* nox/match-context-return/OTP-11247: Added primary bootstrap Forbid returning a match context in beam_validator
Diffstat (limited to 'lib/compiler/src')
-rw-r--r--lib/compiler/src/beam_validator.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl
index eb72290306..70279ab658 100644
--- a/lib/compiler/src/beam_validator.erl
+++ b/lib/compiler/src/beam_validator.erl
@@ -628,6 +628,7 @@ valfun_4({gc_bif,Op,{f,Fail},Live,Src,Dst}, #vst{current=St0}=Vst0) ->
Type = bif_type(Op, Src, Vst),
set_type_reg(Type, Dst, Vst);
valfun_4(return, #vst{current=#st{numy=none}}=Vst) ->
+ assert_term({x,0}, Vst),
kill_state(Vst);
valfun_4(return, #vst{current=#st{numy=NumY}}) ->
error({stack_frame,NumY});