diff options
author | Paul Guyot <[email protected]> | 2011-09-03 19:49:54 +0200 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2011-09-05 12:16:32 +0200 |
commit | ba14137774a64da076b9cf0d98e0e6f2711a74e4 (patch) | |
tree | 76a381056016cfa7d36dadb0a284473b10dbb69e | |
parent | 6a113a60dba9fd6c4d736b9e56c52f3494a15027 (diff) | |
download | otp-ba14137774a64da076b9cf0d98e0e6f2711a74e4.tar.gz otp-ba14137774a64da076b9cf0d98e0e6f2711a74e4.tar.bz2 otp-ba14137774a64da076b9cf0d98e0e6f2711a74e4.zip |
Fix bug with binary pattern matching of floats of variable size
Pattern matching of floats with variable size (<<F:S/float>>) did
always fail. Judging from similar code for ints, this bug is simply
a typo.
-rw-r--r-- | lib/hipe/icode/hipe_beam_to_icode.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hipe/icode/hipe_beam_to_icode.erl b/lib/hipe/icode/hipe_beam_to_icode.erl index d7eb035551..cfed410240 100644 --- a/lib/hipe/icode/hipe_beam_to_icode.erl +++ b/lib/hipe/icode/hipe_beam_to_icode.erl @@ -720,7 +720,7 @@ trans_fun([{test,bs_get_float2,{f,Lbl},[Ms,_Live,Size,Unit,{field_flags,Flags0}, ?EXIT({bad_bs_size_constant,Size}); BitReg -> Bits = mk_var(BitReg), - {{bs_get_float,Unit,Flags}, [Bits,MsVar]} + {{bs_get_float,Unit,Flags}, [MsVar,Bits]} end, trans_op_call({hipe_bs_primop,Name}, Lbl, Args, [Dst,MsVar], Env, Instructions); trans_fun([{test,bs_get_integer2,{f,Lbl},[Ms,_Live,Size,Unit,{field_flags,Flags0},X]}| |