]> git.lizzy.rs Git - rust.git/blobdiff - src/pretty_clif.rs
Report an error on incompatible symbol definitions
[rust.git] / src / pretty_clif.rs
index 4dffb89e1057071035c32b32974cbaa4a3ad1dbc..1d1ec21680e30a7dc981c262b4fc7b172b12a013 100644 (file)
@@ -66,7 +66,7 @@
 
 use crate::prelude::*;
 
-#[derive(Debug)]
+#[derive(Clone, Debug)]
 pub(crate) struct CommentWriter {
     enabled: bool,
     global_comments: Vec<String>,
@@ -234,20 +234,17 @@ pub(crate) fn write_clif_file<'tcx>(
     postfix: &str,
     isa: &dyn cranelift_codegen::isa::TargetIsa,
     instance: Instance<'tcx>,
-    context: &cranelift_codegen::Context,
+    func: &cranelift_codegen::ir::Function,
     mut clif_comments: &CommentWriter,
 ) {
+    // FIXME work around filename too long errors
     write_ir_file(
         tcx,
         || format!("{}.{}.clif", tcx.symbol_name(instance).name, postfix),
         |file| {
             let mut clif = String::new();
-            cranelift_codegen::write::decorate_function(
-                &mut clif_comments,
-                &mut clif,
-                &context.func,
-            )
-            .unwrap();
+            cranelift_codegen::write::decorate_function(&mut clif_comments, &mut clif, func)
+                .unwrap();
 
             for flag in isa.flags().iter() {
                 writeln!(file, "set {}", flag)?;