aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2017-08-16 16:09:05 +0200
committerBjörn Gustavsson <[email protected]>2017-08-23 05:57:38 +0200
commitf840659e84d16641ca4d821a5928fc8bd2a5c654 (patch)
treec774ee9275428105fed2999b0fbb114dbfa08cc9
parent961f96e9c7c4ad0b64bc6c88700c6eedd30162b5 (diff)
downloadotp-f840659e84d16641ca4d821a5928fc8bd2a5c654.tar.gz
otp-f840659e84d16641ca4d821a5928fc8bd2a5c654.tar.bz2
otp-f840659e84d16641ca4d821a5928fc8bd2a5c654.zip
beam_makeops: Add an additional sanity check
If a type has a size in %arg_size, it should also have a defined pattern in %bit_type.
-rwxr-xr-xerts/emulator/utils/beam_makeops6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/utils/beam_makeops b/erts/emulator/utils/beam_makeops
index c3ff7bf31f..9775a01b89 100755
--- a/erts/emulator/utils/beam_makeops
+++ b/erts/emulator/utils/beam_makeops
@@ -228,6 +228,12 @@ $match_engine_ops{'TOP_fail'} = 1;
sanity("tag '$tag': primitive tags must be named with lowercase letters")
unless $tag =~ /^[a-z]$/;
}
+
+ foreach my $tag (keys %arg_size) {
+ defined $type_bit{$tag} or
+ sanity("the tag '$tag' has a size in %arg_size, " .
+ "but has no defined bit pattern");
+ }
}
#