about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorLuqman Aden <me@luqman.ca>2013-03-09 22:37:50 -0800
committerLuqman Aden <me@luqman.ca>2013-03-12 01:03:34 -0700
commitecccc0d649088720a8c4af86e1722b9a26ca31dc (patch)
tree21b5b6c04db0961eae8bac489905fe6b2d2df05a /src/rustllvm/RustWrapper.cpp
parent4e350c7ce7574259dd0aad9f981e615b2b917d20 (diff)
downloadrust-ecccc0d649088720a8c4af86e1722b9a26ca31dc.tar.gz
rust-ecccc0d649088720a8c4af86e1722b9a26ca31dc.zip
Parse inline assembly.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index 3af936d3461..f5efed5f3a0 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -15,6 +15,7 @@
 //
 //===----------------------------------------------------------------------===
 
+#include "llvm/InlineAsm.h"
 #include "llvm/LLVMContext.h"
 #include "llvm/Linker.h"
 #include "llvm/PassManager.h"
@@ -539,3 +540,14 @@ extern "C" void LLVMSetDebug(int Enabled) {
   DebugFlag = Enabled;
 #endif
 }
+
+extern "C" LLVMValueRef LLVMInlineAsm(LLVMTypeRef Ty,
+                                      char *AsmString,
+                                      char *Constraints,
+                                      LLVMBool HasSideEffects,
+                                      LLVMBool IsAlignStack) {
+    return wrap(InlineAsm::get(unwrap<FunctionType>(Ty), AsmString,
+                               Constraints, HasSideEffects,
+                               IsAlignStack));
+//                               IsAlignStack, InlineAsm::AD_Intel));
+}