From 5682e3ee669a94e27cebf986a4de3cf0c4d634c6 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 13 Mar 2017 19:38:32 +0000 Subject: [PATCH] Revert "Fix crash when multiple raw_fd_ostreams to stdout are created." This reverts commit r297624. It was failing on the bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297657 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/raw_ostream.cpp | 2 +- test/Other/writing-to-stdout.ll | 14 -------------- unittests/Support/raw_ostream_test.cpp | 8 -------- 3 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 test/Other/writing-to-stdout.ll diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp index 5deab5de4f6..d073802db93 100644 --- a/lib/Support/raw_ostream.cpp +++ b/lib/Support/raw_ostream.cpp @@ -473,7 +473,7 @@ static int getFD(StringRef Filename, std::error_code &EC, // possible. if (!(Flags & sys::fs::F_Text)) sys::ChangeStdoutToBinary(); - return dup(STDOUT_FILENO); + return STDOUT_FILENO; } int FD; diff --git a/test/Other/writing-to-stdout.ll b/test/Other/writing-to-stdout.ll deleted file mode 100644 index 701a6877e46..00000000000 --- a/test/Other/writing-to-stdout.ll +++ /dev/null @@ -1,14 +0,0 @@ -; Often LLVM tools use "-" to indicate that output should be written to stdout -; instead of a file. This behaviour is implemented by the raw_fd_ostream class. -; This test verifies that when doing so multiple times we don't try to access a -; closed STDOUT_FILENO. The exact options used in this test are unimportant, as -; long as they write to stdout using raw_fd_ostream. -; RUN: llc %s -o=- -pass-remarks-output=- -filetype=asm | FileCheck %s -; foobar should appear as a function somewhere in the assembly file. -; CHECK: foobar -; !Analysis appears at the start of pass-remarks-output. -; CHECK: !Analysis - -define void @foobar() { - ret void -} diff --git a/unittests/Support/raw_ostream_test.cpp b/unittests/Support/raw_ostream_test.cpp index 777e555949e..f87d2f60d16 100644 --- a/unittests/Support/raw_ostream_test.cpp +++ b/unittests/Support/raw_ostream_test.cpp @@ -9,7 +9,6 @@ #include "gtest/gtest.h" #include "llvm/ADT/SmallString.h" -#include "llvm/Support/FileSystem.h" #include "llvm/Support/Format.h" #include "llvm/Support/raw_ostream.h" @@ -331,11 +330,4 @@ TEST(raw_ostreamTest, FormattedHexBytes) { "0007: 68 69 6a 6b 6c |hijkl|", format_bytes_with_ascii_str(B.take_front(12), 0, 7, 1)); } - -TEST(raw_fd_ostreamTest, multiple_raw_fd_ostream_to_stdout) { - std::error_code EC; - - { raw_fd_ostream("-", EC, sys::fs::OpenFlags::F_None); } - { raw_fd_ostream("-", EC, sys::fs::OpenFlags::F_None); } -} } -- 2.11.0