diff --git a/llvm/include/llvm/Support/raw_ostream.h b/llvm/include/llvm/Support/raw_ostream.h index f87344e860518..70916d8e4adb0 100644 --- a/llvm/include/llvm/Support/raw_ostream.h +++ b/llvm/include/llvm/Support/raw_ostream.h @@ -739,7 +739,7 @@ class LLVM_ABI raw_null_ostream : public raw_pwrite_stream { uint64_t current_pos() const override; public: - explicit raw_null_ostream() = default; + explicit raw_null_ostream() : raw_pwrite_stream(/*Unbuffered=*/true) {} ~raw_null_ostream() override; }; diff --git a/llvm/unittests/Support/raw_ostream_test.cpp b/llvm/unittests/Support/raw_ostream_test.cpp index fbeff37d26a35..8f9ed4143a873 100644 --- a/llvm/unittests/Support/raw_ostream_test.cpp +++ b/llvm/unittests/Support/raw_ostream_test.cpp @@ -626,6 +626,11 @@ TEST(raw_ostreamTest, writeToDevNull) { EXPECT_TRUE(DevNullIsUsed); } +TEST(raw_ostreamTest, nullStreamZeroBufferSize) { + raw_ostream &NullStream = nulls(); + EXPECT_EQ(NullStream.GetBufferSize(), 0u); +} + TEST(raw_ostreamTest, writeToStdOut) { outs().flush(); testing::internal::CaptureStdout();