diff options
author | Björn Gustavsson <[email protected]> | 2015-01-16 09:37:24 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-01-16 09:37:24 +0100 |
commit | 75ff0fcd414d56845264f2e3f3ecff5826dd57a1 (patch) | |
tree | 1620b9ca5b6fc7144a568c15839a3c1a1999d1d1 /lib/compiler/test/guard_SUITE.erl | |
parent | 96b532f4e4aad9f2cf4cee5bcf39845fbb89d2ad (diff) | |
parent | 50a92094372b45c9864afe3418b79605da549122 (diff) | |
download | otp-75ff0fcd414d56845264f2e3f3ecff5826dd57a1.tar.gz otp-75ff0fcd414d56845264f2e3f3ecff5826dd57a1.tar.bz2 otp-75ff0fcd414d56845264f2e3f3ecff5826dd57a1.zip |
Merge branch 'maint'
* maint:
Update primary bootstrap
beam_bool: Correct live calculation for GC BIFs
beam_bool: Correct indentation for try...catch
sys_core_fold: Correct optimization of 'case'
Conflicts:
bootstrap/bin/start.boot
bootstrap/bin/start_clean.boot
bootstrap/lib/compiler/ebin/beam_asm.beam
bootstrap/lib/stdlib/ebin/io_lib_pretty.beam
Diffstat (limited to 'lib/compiler/test/guard_SUITE.erl')
-rw-r--r-- | lib/compiler/test/guard_SUITE.erl | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/compiler/test/guard_SUITE.erl b/lib/compiler/test/guard_SUITE.erl index 689c65f537..48badb439e 100644 --- a/lib/compiler/test/guard_SUITE.erl +++ b/lib/compiler/test/guard_SUITE.erl @@ -1782,6 +1782,24 @@ bad_constants(Config) when is_list(Config) -> bad_guards(Config) when is_list(Config) -> if erlang:float(self()); true -> ok end, + + fc(catch bad_guards_1(1, [])), + fc(catch bad_guards_1(1, [2])), + fc(catch bad_guards_1(atom, [2])), + + fc(catch bad_guards_2(#{a=>0,b=>0}, [])), + fc(catch bad_guards_2(#{a=>0,b=>0}, [x])), + fc(catch bad_guards_2(not_a_map, [x])), + fc(catch bad_guards_2(42, [x])), + ok. + +%% beam_bool used to produce GC BIF instructions whose +%% Live operands included uninitialized registers. + +bad_guards_1(X, [_]) when {{X}}, -X -> + ok. + +bad_guards_2(M, [_]) when M#{a := 0, b => 0}, map_size(M) -> ok. %% Call this function to turn off constant propagation. |