diff options
author | Björn Gustavsson <[email protected]> | 2015-05-22 11:54:06 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-05-22 12:44:30 +0200 |
commit | 3d012b584a57e0ba8f76f00f475428a35e081885 (patch) | |
tree | 0495569eee343a4f0e6a30a7276918cfa9ae100d /lib/compiler/test | |
parent | c758fa81e1c48c56ff20ef2a95e6424c1e69033a (diff) | |
download | otp-3d012b584a57e0ba8f76f00f475428a35e081885.tar.gz otp-3d012b584a57e0ba8f76f00f475428a35e081885.tar.bz2 otp-3d012b584a57e0ba8f76f00f475428a35e081885.zip |
sys_core_fold: Eliminate warnings for unused terms in effect context
The optimization introduced in 0a0d39d351fc could cause spurious
warnings of the type: "a term is constructed, but never used".
That would happen for constructs in effect context.
To avoid those warnings, we will need to apply warning suppression
also in effect context.
Diffstat (limited to 'lib/compiler/test')
-rw-r--r-- | lib/compiler/test/warnings_SUITE.erl | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/compiler/test/warnings_SUITE.erl b/lib/compiler/test/warnings_SUITE.erl index 471ded219f..ca6946e3cd 100644 --- a/lib/compiler/test/warnings_SUITE.erl +++ b/lib/compiler/test/warnings_SUITE.erl @@ -281,6 +281,7 @@ bad_arith(Config) when is_list(Config) -> {3,sys_core_fold,{eval_failure,badarith}}, {9,sys_core_fold,nomatch_guard}, {9,sys_core_fold,{eval_failure,badarith}}, + {9,sys_core_fold,{no_effect,{erlang,is_integer,1}}}, {10,sys_core_fold,nomatch_guard}, {10,sys_core_fold,{eval_failure,badarith}}, {15,sys_core_fold,{eval_failure,badarith}} @@ -369,7 +370,7 @@ files(Config) when is_list(Config) -> %% Test warnings for term construction and BIF calls in effect context. effect(Config) when is_list(Config) -> - Ts = [{lc, + Ts = [{effect, <<" t(X) -> case X of @@ -475,6 +476,19 @@ effect(Config) when is_list(Config) -> m9(Bs) -> [{B,ok} = {B,foo:bar(B)} || B <- Bs], ok. + + m10(ConfigTableSize) -> + case ConfigTableSize of + apa -> + CurrentConfig = {id(camel_phase3),id(sms)}, + case CurrentConfig of + {apa, bepa} -> ok; + _ -> ok + end + end, + ok. + + id(I) -> I. ">>, [], {warnings,[{5,sys_core_fold,{no_effect,{erlang,is_integer,1}}}, |