]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_mir/shim.rs
fix codegen of drops of fields of packed structs
[rust.git] / src / librustc_mir / shim.rs
index 15c68954230ba2c319a9b66a9292ad3e734ce79e..0fa47d809994736a2f839fc0fe74a47c9369168a 100644 (file)
@@ -27,7 +27,8 @@
 use std::fmt;
 use std::iter;
 
-use transform::{add_call_guards, no_landing_pads, simplify};
+use transform::{add_moves_for_packed_drops, add_call_guards};
+use transform::{no_landing_pads, simplify};
 use util::elaborate_drops::{self, DropElaborator, DropStyle, DropFlagMode};
 use util::patch::MirPatch;
 
@@ -114,6 +115,8 @@ fn make_shim<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
         }
     };
     debug!("make_shim({:?}) = untransformed {:?}", instance, result);
+    add_moves_for_packed_drops::add_moves_for_packed_drops(
+        tcx, &mut result, instance.def_id());
     no_landing_pads::no_landing_pads(tcx, &mut result);
     simplify::simplify_cfg(&mut result);
     add_call_guards::CriticalCallEdges.add_call_guards(&mut result);