Fix bug in sym_eval

Summary: Fix apparent bug in sym_eval, where struct fields could be reversed.

Reviewed By: cristianoc

Differential Revision: D3333035

fbshipit-source-id: 4ccc859
master
Josh Berdine 9 years ago committed by Facebook Github Bot 7
parent 0947a67a7e
commit 3fe1cbb6ec

@ -608,7 +608,7 @@ let sym_eval abs e =
let size' = Sil.BinOp(Sil.PlusA, size, num_elem) in let size' = Sil.BinOp(Sil.PlusA, size, num_elem) in
let ltfa' = (fname, Sil.Tarray(typ, size'), Sil.item_annotation_empty) :: ltfa in let ltfa' = (fname, Sil.Tarray(typ, size'), Sil.item_annotation_empty) :: ltfa in
let struct_typ' = let struct_typ' =
{ struct_typ with Sil.instance_fields = ltfa' } in { struct_typ with Sil.instance_fields = IList.rev ltfa' } in
Sil.Sizeof (Sil.Tstruct struct_typ', st) Sil.Sizeof (Sil.Tstruct struct_typ', st)
| _ -> Sil.BinOp(Sil.PlusA, e1', e2')) | _ -> Sil.BinOp(Sil.PlusA, e1', e2'))
| Sil.BinOp (Sil.PlusA as oplus, e1, e2) | Sil.BinOp (Sil.PlusA as oplus, e1, e2)

Loading…
Cancel
Save