summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/Support/Locale.cpp
diff options
context:
space:
mode:
authorpascal <pascal@openbsd.org>2016-09-03 22:46:54 +0000
committerpascal <pascal@openbsd.org>2016-09-03 22:46:54 +0000
commitb5500b9ca0102f1ccaf32f0e77e96d0739aded9b (patch)
treee1b7ebb5a0231f9e6d8d3f6f719582cebd64dc98 /gnu/llvm/lib/Support/Locale.cpp
parentclarify purpose of src/gnu/ directory. (diff)
downloadwireguard-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.cpp32
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