aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/erl_eval_SUITE.erl
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2014-02-24 16:13:26 +0100
committerHenrik Nord <[email protected]>2014-02-24 16:13:26 +0100
commitca693a05bda78d701ff8b47d851505098c79c077 (patch)
tree44249090aa591fe01e586359457d51d348d2aa65 /lib/stdlib/test/erl_eval_SUITE.erl
parentc38217f781b7a0d24edd58b124bd2c7accbfe434 (diff)
parent2c73f41fc16fbbbbfc0fea1ee0bbd5e6038e6a54 (diff)
downloadotp-ca693a05bda78d701ff8b47d851505098c79c077.tar.gz
otp-ca693a05bda78d701ff8b47d851505098c79c077.tar.bz2
otp-ca693a05bda78d701ff8b47d851505098c79c077.zip
Merge branch 'josevalim/jv-eval-guards/OTP-11747'
* josevalim/jv-eval-guards/OTP-11747: Fix erl_eval bug when erlang:'=='/2 is used in guards
Diffstat (limited to 'lib/stdlib/test/erl_eval_SUITE.erl')
-rw-r--r--lib/stdlib/test/erl_eval_SUITE.erl18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/stdlib/test/erl_eval_SUITE.erl b/lib/stdlib/test/erl_eval_SUITE.erl
index b194c7cb41..e6512b7d71 100644
--- a/lib/stdlib/test/erl_eval_SUITE.erl
+++ b/lib/stdlib/test/erl_eval_SUITE.erl
@@ -25,7 +25,7 @@
match_bin/1,
string_plusplus/1,
pattern_expr/1,
- guard_3/1, guard_4/1,
+ guard_3/1, guard_4/1, guard_5/1,
lc/1,
simple_cases/1,
unary_plus/1,
@@ -79,7 +79,7 @@ suite() -> [{ct_hooks,[ts_install_cth]}].
all() ->
[guard_1, guard_2, match_pattern, string_plusplus,
- pattern_expr, match_bin, guard_3, guard_4, lc,
+ pattern_expr, match_bin, guard_3, guard_4, guard_5, lc,
simple_cases, unary_plus, apply_atom, otp_5269,
otp_6539, otp_6543, otp_6787, otp_6977, otp_7550,
otp_8133, otp_10622, funs, try_catch, eval_expr_5, zero_width,
@@ -248,6 +248,20 @@ guard_4(Config) when is_list(Config) ->
false),
ok.
+guard_5(doc) ->
+ ["Guards with erlang:'=='/2"];
+guard_5(suite) ->
+ [];
+guard_5(Config) when is_list(Config) ->
+ {ok,Tokens ,_} =
+ erl_scan:string("case 1 of A when erlang:'=='(A, 1) -> true end."),
+ {ok, [Expr]} = erl_parse:parse_exprs(Tokens),
+ true = guard_5_compiled(),
+ {value, true, [{'A',1}]} = erl_eval:expr(Expr, []),
+ ok.
+
+guard_5_compiled() ->
+ case 1 of A when erlang:'=='(A, 1) -> true end.
lc(doc) ->
["OTP-4518."];