aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/compile.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-09-05 14:59:15 +0200
committerBjörn Gustavsson <[email protected]>2012-10-09 15:24:40 +0200
commite38dc4aaeb769aaf531c66e508f475ed24c25ffd (patch)
tree47a08e6f9ef0699a571a631ec5a1a2467ac4d7bc /lib/compiler/src/compile.erl
parent83cfc8c8414edc956d7e8e3a1402c17bf35421a6 (diff)
downloadotp-e38dc4aaeb769aaf531c66e508f475ed24c25ffd.tar.gz
otp-e38dc4aaeb769aaf531c66e508f475ed24c25ffd.tar.bz2
otp-e38dc4aaeb769aaf531c66e508f475ed24c25ffd.zip
compile: Fix bug in selection of passes
Diffstat (limited to 'lib/compiler/src/compile.erl')
-rw-r--r--lib/compiler/src/compile.erl4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl
index 818945d0fd..2f374e6fb0 100644
--- a/lib/compiler/src/compile.erl
+++ b/lib/compiler/src/compile.erl
@@ -553,12 +553,12 @@ select_list_passes_1([{iff,Flag,{done,Ext}}|Ps], Opts, Acc) ->
end;
select_list_passes_1([{iff=Op,Flag,List0}|Ps], Opts, Acc) when is_list(List0) ->
case select_list_passes(List0, Opts) of
- {done,_}=Done -> Done;
+ {done,List} -> {done,reverse(Acc) ++ List};
{not_done,List} -> select_list_passes_1(Ps, Opts, [{Op,Flag,List}|Acc])
end;
select_list_passes_1([{unless=Op,Flag,List0}|Ps], Opts, Acc) when is_list(List0) ->
case select_list_passes(List0, Opts) of
- {done,_}=Done -> Done;
+ {done,List} -> {done,reverse(Acc) ++ List};
{not_done,List} -> select_list_passes_1(Ps, Opts, [{Op,Flag,List}|Acc])
end;
select_list_passes_1([P|Ps], Opts, Acc) ->