aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/v3_kernel.erl
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2014-03-04 22:02:08 +0100
committerAnthony Ramine <[email protected]>2014-03-04 22:02:08 +0100
commitb0c011a5b5e1a0e02c6d2863238310f0d6bf8745 (patch)
tree4604406984c15832988dbf4e1b510ac6f4bcfc0d /lib/compiler/src/v3_kernel.erl
parentc199bd2923e7d733e60beb9bd27b3852cbb2e699 (diff)
downloadotp-b0c011a5b5e1a0e02c6d2863238310f0d6bf8745.tar.gz
otp-b0c011a5b5e1a0e02c6d2863238310f0d6bf8745.tar.bz2
otp-b0c011a5b5e1a0e02c6d2863238310f0d6bf8745.zip
Properly order Kernel code for maps with mixed pairs
The Kernel instructions were not properly ordered when compiling maps with complex values mixed in assoc and exact pairs. Reported-by: Ulf Norell
Diffstat (limited to 'lib/compiler/src/v3_kernel.erl')
-rw-r--r--lib/compiler/src/v3_kernel.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/compiler/src/v3_kernel.erl b/lib/compiler/src/v3_kernel.erl
index 5675572092..d00dd56f30 100644
--- a/lib/compiler/src/v3_kernel.erl
+++ b/lib/compiler/src/v3_kernel.erl
@@ -519,7 +519,7 @@ map_split_pairs(A, Var, Ces, Sub, St0) ->
Kes1 = [#k_map_pair{key=K,val=V}||{_,{assoc,K,V}} <- Assoc],
{Mvar,Em,St2} = force_atomic(#k_map{anno=A,op=assoc,var=Var,es=Kes1},St1),
Kes2 = [#k_map_pair{key=K,val=V}||{_,{exact,K,V}} <- Exact],
- {#k_map{anno=A,op=exact,var=Mvar,es=Kes2},Em ++ Esp,St2}
+ {#k_map{anno=A,op=exact,var=Mvar,es=Kes2},Esp ++ Em,St2}
end.