diff options
| author | 2016-09-03 22:46:54 +0000 | |
|---|---|---|
| committer | 2016-09-03 22:46:54 +0000 | |
| commit | b5500b9ca0102f1ccaf32f0e77e96d0739aded9b (patch) | |
| tree | e1b7ebb5a0231f9e6d8d3f6f719582cebd64dc98 /gnu/llvm/lib/Support/Locale.cpp | |
| parent | clarify purpose of src/gnu/ directory. (diff) | |
| download | wireguard-openbsd-b5500b9ca0102f1ccaf32f0e77e96d0739aded9b.tar.xz wireguard-openbsd-b5500b9ca0102f1ccaf32f0e77e96d0739aded9b.zip | |
Use the space freed up by sparc and zaurus to import LLVM.
ok hackroom@
Diffstat (limited to 'gnu/llvm/lib/Support/Locale.cpp')
| -rw-r--r-- | gnu/llvm/lib/Support/Locale.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/llvm/lib/Support/Locale.cpp b/gnu/llvm/lib/Support/Locale.cpp new file mode 100644 index 00000000000..53bc0e36d83 --- /dev/null +++ b/gnu/llvm/lib/Support/Locale.cpp @@ -0,0 +1,32 @@ +#include "llvm/Config/llvm-config.h" +#include "llvm/Support/Locale.h" +#include "llvm/Support/Unicode.h" + +namespace llvm { +namespace sys { +namespace locale { + +int columnWidth(StringRef Text) { +#if LLVM_ON_WIN32 + return Text.size(); +#else + return llvm::sys::unicode::columnWidthUTF8(Text); +#endif +} + +bool isPrint(int UCS) { +#if LLVM_ON_WIN32 + // Restrict characters that we'll try to print to the lower part of ASCII + // except for the control characters (0x20 - 0x7E). In general one can not + // reliably output code points U+0080 and higher using narrow character C/C++ + // output functions in Windows, because the meaning of the upper 128 codes is + // determined by the active code page in the console. + return ' ' <= UCS && UCS <= '~'; +#else + return llvm::sys::unicode::isPrintable(UCS); +#endif +} + +} // namespace locale +} // namespace sys +} // namespace llvm |
