llvm-project/llvm/unittests/Support
Oliver Stannard e80b81d1cb [Support] Fix formatted_raw_ostream for UTF-8
* The getLine and getColumn functions need to update the position, or
  they will return stale data for buffered streams. This fixes a bug in
  the clang -analyzer-checker-option-help option, which was not wrapping
  the help text correctly when stdout is not a TTY.
* If the stream contains multi-byte UTF-8 sequences, then the whole
  sequence needs to be considered to be a single character. This has the
  edge case that the buffer might fill up and be flushed part way
  through a character.
* If the stream contains East Asian wide characters, these will be
  rendered twice as wide as other characters, so we need to increase the
  column count to match.

This doesn't attempt to handle everything unicode can do (combining
characters, right-to-left markers, ...), but hopefully covers most
things likely to be common in messages and source code we might want to
print.

Differential revision: https://reviews.llvm.org/D76291
2020-07-06 16:18:15 +01:00
..
DynamicLibrary Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ARMAttributeParser.cpp [RISCV] ELF attribute section for RISC-V. 2020-03-31 16:16:19 +08:00
AlignOfTest.cpp
AlignmentTest.cpp [Align] Remove operations on MaybeAlign that asserted that it had a defined value. 2020-05-22 21:54:28 -07:00
AllocatorTest.cpp [Allocator] Make Deallocate() pass alignment and make it use (de)allocate_buffer 2020-05-02 16:08:46 +02:00
AnnotationsTest.cpp
ArrayRecyclerTest.cpp
Base64Test.cpp Syndicate, test and fix base64 implementation 2020-03-03 12:17:53 +01:00
BinaryStreamTest.cpp [Support] Split MallocAllocator out of Allocator.h 2020-01-24 17:29:32 -08:00
BlockFrequencyTest.cpp
BranchProbabilityTest.cpp
CMakeLists.txt [SuffixTree][MachOpt] Factoring out Suffix Tree and adding Unit Tests 2020-06-08 12:44:18 -07:00
CRCTest.cpp Make llvm::crc32() work also for input sizes larger than 32 bits. 2020-02-05 21:32:11 +01:00
CachePruningTest.cpp
Casting.cpp
CheckedArithmeticTest.cpp
Chrono.cpp
CommandLineTest.cpp [llvm] [CommandLine] Do not suggest really hidden opts in nearest lookup 2020-06-17 19:00:26 +02:00
CompressionTest.cpp Revert abb00753 "build: reduce CMake handling for zlib" (PR44780) 2020-03-03 11:03:09 +01:00
ConvertUTFTest.cpp
CrashRecoveryTest.cpp [Support] Optionally call signal handlers when a function wrapped by the the CrashRecoveryContext fails 2020-01-11 15:27:07 -05:00
DJBTest.cpp
DataExtractorTest.cpp [Support] Make DataExtractor error messages more clear 2020-06-02 12:57:51 +02:00
DebugCounterTest.cpp
DebugTest.cpp
ELFAttributeParserTest.cpp [RISCV] Support RISC-V ELF attributes sections in llvm-readobj. 2020-04-01 21:50:11 +08:00
EndianStreamTest.cpp
EndianTest.cpp
ErrnoTest.cpp
ErrorOrTest.cpp
ErrorTest.cpp [Error/unittests] Add a FailedWithMessage gtest matcher 2020-02-21 15:29:48 +01:00
ExtensibleRTTITest.cpp [Support] Add support RTTI support for open class hierarchies. 2020-04-13 12:52:44 -07:00
FileCheckTest.cpp Reland [FileCheck, unittest] Improve readability of ExpressionFormat 2020-06-19 18:44:34 +01:00
FileCollectorTest.cpp Re-land "[FileCollector] Add a method to add a whole directory and it contents." 2020-03-30 13:19:18 -07:00
FileOutputBufferTest.cpp [Support] Allow FileOutputBuffer::create to create an empty file 2020-05-05 08:11:58 -07:00
FileUtilitiesTest.cpp [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
FormatVariadicTest.cpp Use C++14-style return type deduction in LLVM. 2020-02-11 07:38:42 -08:00
GlobPatternTest.cpp Revert rGca18ce1a00cd8b7cb7ce0e130440f5ae1ffe86ee "GlobPattern.h - remove unnecessary BitVector.h/StringRef.h includes. NFC" 2020-05-17 18:51:21 +01:00
Host.cpp [AArch64] Add native CPU detection for Neoverse N1 2020-05-28 19:54:18 +01:00
IndexedAccessorTest.cpp [llvm][STLExtras] Move various iterator/range utilities from MLIR to LLVM 2020-04-14 15:14:40 -07:00
ItaniumManglingCanonicalizerTest.cpp llvm-cxxmap: fix support for remapping non-mangled names. 2019-12-18 10:47:02 -08:00
JSONTest.cpp Revert "Disable a JSONTest.Integers test with all MSVCs, PR46470" 2020-06-26 22:30:24 -04:00
KnownBitsTest.cpp [KnownBits] Move AND, OR and XOR logic into KnownBits 2020-04-09 10:10:37 +01:00
LEB128Test.cpp [llvm/Support] Don't crash on empty nullptr ranges when decoding LEBs 2020-04-06 14:14:11 +02:00
LineIteratorTest.cpp
LockFileManagerTest.cpp
MD5Test.cpp
ManagedStatic.cpp
MatchersTest.cpp
MathExtrasTest.cpp [Support] Remove byte swapping from MathExtras.h 2020-02-27 17:23:48 -08:00
MemoryBufferTest.cpp [LLVM][SupportTests] Ask the OS how large the page size is instead of guessing. 2020-04-15 15:12:28 -07:00
MemoryTest.cpp
NativeFormatTests.cpp
OptimizedStructLayoutTest.cpp Rename OptimalLayout to OptimizedStructLayout at Chris's request. 2020-04-10 00:14:20 -04:00
ParallelTest.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
Path.cpp [Support] Add path::user_config_directory for $XDG_CONFIG_HOME etc 2020-07-06 12:20:55 +02:00
ProcessTest.cpp [Support] Silence warning: comparison of integers of different signs: 'const int' and 'const unsigned long' 2020-05-06 09:12:00 -04:00
ProgramTest.cpp Use explicitly unsigned zero to prevent from a warning 2020-06-17 15:35:55 +07:00
RISCVAttributeParserTest.cpp [RISCV] ELF attribute section for RISC-V. 2020-03-31 16:16:19 +08:00
RegexTest.cpp
ReplaceFileTest.cpp
ReverseIterationTest.cpp [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-07 00:51:41 +01:00
ScaledNumberTest.cpp
SourceMgrTest.cpp
SpecialCaseListTest.cpp [clang/llvm] As part of using inclusive language within 2020-06-20 16:03:58 -07:00
SuffixTreeTest.cpp [SuffixTree][MachOpt] Factoring out Suffix Tree and adding Unit Tests 2020-06-08 12:44:18 -07:00
SwapByteOrderTest.cpp [Support] Remove byte swapping from MathExtras.h 2020-02-27 17:23:48 -08:00
SymbolRemappingReaderTest.cpp
TarWriterTest.cpp Add a comment to TarWriterTest.LongFilename 2020-04-27 13:59:02 -04:00
TargetParserTest.cpp [ARM] Add Cortex-A77 Support for Clang and LLVM 2020-07-03 13:00:54 +01:00
TaskQueueTest.cpp [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups 2020-02-14 10:24:22 -05:00
ThreadLocalTest.cpp
ThreadPool.cpp Revert rGf0bab7875e78e01c149d12302dcc4b6d4c43e25c - "Triple.h - reduce Twine.h include to forward declarations. NFC." 2020-06-26 14:46:40 +01:00
Threading.cpp [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups 2020-02-14 10:24:22 -05:00
TimerTest.cpp
ToolOutputFileTest.cpp [Support] Use outs() in ToolOutputFile 2020-06-04 14:56:35 +02:00
TrailingObjectsTest.cpp [Alignment][NFC] Move and type functions from MathExtras to Alignment 2019-10-14 13:14:34 +00:00
TrigramIndexTest.cpp
TypeNameTest.cpp
TypeTraitsTest.cpp
UnicodeTest.cpp
VersionTupleTest.cpp
VirtualFileSystemTest.cpp Revert "Relands "[YAMLVFSWriter][Test][NFC] Add couple tests" vol. 2" 2020-06-04 14:59:45 +01:00
WithColorTest.cpp [Support] Replace 'DisableColors' boolean with 'ColorMode' enum 2020-06-08 09:48:47 -07:00
YAMLIOTest.cpp [YAMLTraits] Remove char trait and serialize as uint8_t in lldb. 2020-05-26 11:07:27 -07:00
YAMLParserTest.cpp Fix null dereference in yaml::Document::skip 2019-11-11 20:48:28 -08:00
formatted_raw_ostream_test.cpp [Support] Fix formatted_raw_ostream for UTF-8 2020-07-06 16:18:15 +01:00
raw_ostream_test.cpp [Support][unittest] Fix asan failure after D81156 2020-06-09 17:48:00 -07:00
raw_pwrite_stream_test.cpp
raw_sha1_ostream_test.cpp [Support] Optimize SHA1 implementation 2019-11-11 22:14:28 -08:00
xxhashTest.cpp