aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_validator.erl
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2017-03-24 10:54:53 +0100
committerBjörn-Egil Dahlberg <[email protected]>2017-03-24 10:54:53 +0100
commit513a14e3f8225aa35ced7c0a1753d287bae1b707 (patch)
tree8404345447bc0a9bb7e033e3a1e4aa167b8a86e6 /lib/compiler/src/beam_validator.erl
parent84be7e0ec7c0c64f1beb418cdd09879822aca4b0 (diff)
parent63289176d5555903b72776dd96b38b3a13a257ab (diff)
downloadotp-513a14e3f8225aa35ced7c0a1753d287bae1b707.tar.gz
otp-513a14e3f8225aa35ced7c0a1753d287bae1b707.tar.bz2
otp-513a14e3f8225aa35ced7c0a1753d287bae1b707.zip
Merge branch 'egil/compiler/is_tagged_tuple/OTP-12148'
* egil/compiler/is_tagged_tuple/OTP-12148: Update primary bootstrap compiler: Cover beam_record in tests hipe: Transform is_tagged_tuple instruction compiler: Add is_tagged_tuple instruction
Diffstat (limited to 'lib/compiler/src/beam_validator.erl')
-rw-r--r--lib/compiler/src/beam_validator.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl
index bf33ae0aeb..c26e5719aa 100644
--- a/lib/compiler/src/beam_validator.erl
+++ b/lib/compiler/src/beam_validator.erl
@@ -653,6 +653,9 @@ valfun_4({test,is_nonempty_list,{f,Lbl},[Cons]}, Vst) ->
valfun_4({test,test_arity,{f,Lbl},[Tuple,Sz]}, Vst) when is_integer(Sz) ->
assert_type(tuple, Tuple, Vst),
set_type_reg({tuple,Sz}, Tuple, branch_state(Lbl, Vst));
+valfun_4({test,is_tagged_tuple,{f,Lbl},[Src,Sz,_Atom]}, Vst) ->
+ validate_src([Src], Vst),
+ set_type_reg({tuple, Sz}, Src, branch_state(Lbl, Vst));
valfun_4({test,has_map_fields,{f,Lbl},Src,{list,List}}, Vst) ->
assert_type(map, Src, Vst),
assert_unique_map_keys(List),