about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorKeegan McAllister <kmcallister@mozilla.com>2014-09-09 23:12:09 -0700
committerKeegan McAllister <kmcallister@mozilla.com>2014-09-12 11:46:38 -0700
commit225353d8bbad5730c941fc88e854627004e74f2c (patch)
treed4f49fece5c0eb6a6f230149e6bec1b46edbda24 /src/rustllvm/RustWrapper.cpp
parent77b3a7ba8bf3ea0dd75bbe696c60275807bfe4ae (diff)
downloadrust-225353d8bbad5730c941fc88e854627004e74f2c.tar.gz
rust-225353d8bbad5730c941fc88e854627004e74f2c.zip
Add a Rust string ostream for LLVM
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index cdd36d7f458..5893b582cd8 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -645,22 +645,18 @@ extern "C" void LLVMDICompositeTypeSetTypeArray(
 #endif
 }
 
-extern "C" char *LLVMTypeToString(LLVMTypeRef Type) {
-    std::string s;
-    llvm::raw_string_ostream os(s);
+extern "C" void LLVMWriteTypeToString(LLVMTypeRef Type, RustStringRef str) {
+    raw_rust_string_ostream os(str);
     unwrap<llvm::Type>(Type)->print(os);
-    return strdup(os.str().data());
 }
 
-extern "C" char *LLVMValueToString(LLVMValueRef Value) {
-    std::string s;
-    llvm::raw_string_ostream os(s);
+extern "C" void LLVMWriteValueToString(LLVMValueRef Value, RustStringRef str) {
+    raw_rust_string_ostream os(str);
     os << "(";
     unwrap<llvm::Value>(Value)->getType()->print(os);
     os << ":";
     unwrap<llvm::Value>(Value)->print(os);
     os << ")";
-    return strdup(os.str().data());
 }
 
 #if LLVM_VERSION_MINOR >= 5