diff --git a/tools/dis/dis.cpp b/tools/dis/dis.cpp index 8d1749c3d14..166a178d574 100644 --- a/tools/dis/dis.cpp +++ b/tools/dis/dis.cpp @@ -115,7 +115,10 @@ int main(int argc, char **argv) { Passes.run(*M.get()); - if (Out != &std::cout) delete Out; + if (Out != &std::cout) { + ((std::ofstream*)Out)->close(); + delete Out; + } return 0; } diff --git a/tools/llvm-dis/dis.cpp b/tools/llvm-dis/dis.cpp index 8d1749c3d14..166a178d574 100644 --- a/tools/llvm-dis/dis.cpp +++ b/tools/llvm-dis/dis.cpp @@ -115,7 +115,10 @@ int main(int argc, char **argv) { Passes.run(*M.get()); - if (Out != &std::cout) delete Out; + if (Out != &std::cout) { + ((std::ofstream*)Out)->close(); + delete Out; + } return 0; } diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp index 8d1749c3d14..166a178d574 100644 --- a/tools/llvm-dis/llvm-dis.cpp +++ b/tools/llvm-dis/llvm-dis.cpp @@ -115,7 +115,10 @@ int main(int argc, char **argv) { Passes.run(*M.get()); - if (Out != &std::cout) delete Out; + if (Out != &std::cout) { + ((std::ofstream*)Out)->close(); + delete Out; + } return 0; }