aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test/lc_SUITE.erl
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2014-03-05 02:44:30 +0100
committerBjörn Gustavsson <[email protected]>2014-03-05 12:16:36 +0100
commit313c6f2cdb7ebd9d64dcb333e031045ccaf43531 (patch)
tree216f047e4766038f7c075fb9603560ea21475215 /lib/compiler/test/lc_SUITE.erl
parentc199bd2923e7d733e60beb9bd27b3852cbb2e699 (diff)
downloadotp-313c6f2cdb7ebd9d64dcb333e031045ccaf43531.tar.gz
otp-313c6f2cdb7ebd9d64dcb333e031045ccaf43531.tar.bz2
otp-313c6f2cdb7ebd9d64dcb333e031045ccaf43531.zip
Do not export variables from comprehension cases in v3_core
Code like the following snippet could make the compiler crash: f() -> [X = a || false] ++ [X = a || false]. Reported-by: Ulf Norell
Diffstat (limited to 'lib/compiler/test/lc_SUITE.erl')
-rw-r--r--lib/compiler/test/lc_SUITE.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/compiler/test/lc_SUITE.erl b/lib/compiler/test/lc_SUITE.erl
index f5948504b3..398398a397 100644
--- a/lib/compiler/test/lc_SUITE.erl
+++ b/lib/compiler/test/lc_SUITE.erl
@@ -23,7 +23,7 @@
init_per_group/2,end_per_group/2,
init_per_testcase/2,end_per_testcase/2,
basic/1,deeply_nested/1,no_generator/1,
- empty_generator/1]).
+ empty_generator/1,no_export/1]).
-include_lib("test_server/include/test_server.hrl").
@@ -31,7 +31,7 @@ suite() -> [{ct_hooks,[ts_install_cth]}].
all() ->
test_lib:recompile(?MODULE),
- [basic, deeply_nested, no_generator, empty_generator].
+ [basic, deeply_nested, no_generator, empty_generator, no_export].
groups() ->
[].
@@ -177,6 +177,10 @@ empty_generator(Config) when is_list(Config) ->
?line [] = [X || {X} <- [], (false or (X/0 > 3))],
ok.
+no_export(Config) when is_list(Config) ->
+ [] = [ _X = a || false ] ++ [ _X = a || false ],
+ ok.
+
id(I) -> I.
fc(Args, {'EXIT',{function_clause,[{?MODULE,_,Args,_}|_]}}) -> ok;