diff options
author | Anthony Ramine <[email protected]> | 2014-03-05 02:44:30 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-03-05 12:16:36 +0100 |
commit | 313c6f2cdb7ebd9d64dcb333e031045ccaf43531 (patch) | |
tree | 216f047e4766038f7c075fb9603560ea21475215 /lib/compiler/test/lc_SUITE.erl | |
parent | c199bd2923e7d733e60beb9bd27b3852cbb2e699 (diff) | |
download | otp-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.erl | 8 |
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; |