llvm/unittests/Support
Rafael Espindola f30ac8f5ec Don't allow pwrite to resize a stream.
The current implementations could exhibit some behavior differences:

raw_fd_ostream: Whatever the underlying fd does with seek+write. In a normal
file, the write position would be back to the old offset.

raw_svector_ostream: The write position is always the end of the stream, so
after pwrite the write position would be the new end. This matches what OS_X
(all BSD?) do with a pwrite in a O_APPEND fd.

Given that we don't need that feature and don't use O_APPEND a lot in LLVM,
just disallow it.

I am open to suggestions on renaming pwrite to something else, but this fixes
the issue for now.

Thanks to Yaron Keren for reporting it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235303 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-20 13:04:30 +00:00
..
AlignOfTest.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
AllocatorTest.cpp
ArrayRecyclerTest.cpp
BlockFrequencyTest.cpp
BranchProbabilityTest.cpp
Casting.cpp
CMakeLists.txt Add raw_pwrite_stream type. 2015-04-14 15:00:34 +00:00
CommandLineTest.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
CompressionTest.cpp
ConvertUTFTest.cpp
DataExtractorTest.cpp
DwarfTest.cpp
EndianStreamTest.cpp
EndianTest.cpp
ErrorOrTest.cpp
FileOutputBufferTest.cpp
formatted_raw_ostream_test.cpp
IteratorTest.cpp
LEB128Test.cpp
LineIteratorTest.cpp
LockFileManagerTest.cpp
Makefile
ManagedStatic.cpp
MathExtrasTest.cpp
MD5Test.cpp
MemoryBufferTest.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MemoryTest.cpp
Path.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ProcessTest.cpp
ProgramTest.cpp
raw_ostream_test.cpp
raw_pwrite_stream_test.cpp Don't allow pwrite to resize a stream. 2015-04-20 13:04:30 +00:00
RegexTest.cpp
ScaledNumberTest.cpp
SourceMgrTest.cpp
SpecialCaseListTest.cpp
StreamingMemoryObject.cpp
StringPool.cpp
SwapByteOrderTest.cpp
ThreadLocalTest.cpp
TimeValueTest.cpp
UnicodeTest.cpp
YAMLIOTest.cpp Detect malformed YAML sequence in yaml::Input::beginSequence() 2015-03-02 17:26:43 +00:00
YAMLParserTest.cpp