about summary refs log tree commit diff
path: root/src/comp/middle/trans_build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp/middle/trans_build.rs')
-rw-r--r--src/comp/middle/trans_build.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/comp/middle/trans_build.rs b/src/comp/middle/trans_build.rs
index 600c1e27c73..2b45285a4ef 100644
--- a/src/comp/middle/trans_build.rs
+++ b/src/comp/middle/trans_build.rs
@@ -104,6 +104,14 @@ fn Invoke(cx: @block_ctxt, Fn: ValueRef, Args: [ValueRef],
         let instr = llvm::LLVMBuildInvoke(B(cx), Fn, vec::to_ptr(Args),
                                           vec::len(Args), Then, Catch,
                                           noname());
+        if bcx_ccx(cx).sess.get_opts().debuginfo {
+            /*llvm::LLVMAddAttribute(option::get(vec::last(llargs)),
+            lib::llvm::LLVMStructRetAttribute as
+            lib::llvm::llvm::Attribute);*/
+            llvm::LLVMAddInstrAttribute(instr, 1u,
+                                        lib::llvm::LLVMStructRetAttribute as
+                                            lib::llvm::llvm::Attribute);
+        }
         debuginfo::add_line_info(cx, instr);
     }
 }