summaryrefslogtreecommitdiff
path: root/lib/IRReader/IRReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/IRReader/IRReader.cpp')
-rw-r--r--lib/IRReader/IRReader.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/IRReader/IRReader.cpp b/lib/IRReader/IRReader.cpp
index e72990751b..01aa074aba 100644
--- a/lib/IRReader/IRReader.cpp
+++ b/lib/IRReader/IRReader.cpp
@@ -108,10 +108,13 @@ LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef,
if(!*OutM) {
if (OutMessage) {
- string_ostream os;
+ std::string buf;
+ raw_string_ostream os(buf);
+
Diag.print(nullptr, os, false);
- os << '\0';
- *OutMessage = strdup(os.str().data());
+ os.flush();
+
+ *OutMessage = strdup(buf.c_str());
}
return 1;
}