aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-system.h
diff options
context:
space:
mode:
authorRaiki Tamura <tamaron1203@gmail.com>2023-12-02 21:01:59 +0900
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2024-01-29 12:09:31 +0000
commitd6e10d2dabaf689ef36e628ee6d54cd460664615 (patch)
treece4161f6bc6c3b6439a98646371a4de2d08c1257 /gcc/rust/rust-system.h
parentbef49670f6248e30ab888ecdbd52a8a1612e25ef (diff)
downloadgcc-d6e10d2dabaf689ef36e628ee6d54cd460664615.zip
gcc-d6e10d2dabaf689ef36e628ee6d54cd460664615.tar.gz
gcc-d6e10d2dabaf689ef36e628ee6d54cd460664615.tar.bz2
gccrs: Implement quick-check for Unicode
gcc/rust/ChangeLog: * rust-lang.cc (run_rust_tests): Add test. * rust-system.h: Add <algorithm>. * util/make-rust-unicode.py: Output NFC_Quick_Check table. * util/rust-codepoint.h (struct Codepoint): Add is_supplementary method. * util/rust-unicode-data.h: Generated. * util/rust-unicode.cc (binary_search_sorted_array): Removed. (lookup_cc): Remove namespace. (is_alphabetic): Use std::binary_search (nfc_quick_check): New function. (nfc_normalize): Use nfc_quick_check. (is_nfc_qc_maybe): New function. (is_nfc_qc_no): New function. (rust_nfc_qc_test): New test. * util/rust-unicode.h (is_nfc_qc_no): New function. (is_nfc_qc_maybe): New function. (enum class): New enum class. (nfc_quick_check): New function. (rust_nfc_qc_test): New test. Signed-off-by: Raiki Tamura <tamaron1203@gmail.com>
Diffstat (limited to 'gcc/rust/rust-system.h')
-rw-r--r--gcc/rust/rust-system.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/rust/rust-system.h b/gcc/rust/rust-system.h
index 6ee4531..0135b1b 100644
--- a/gcc/rust/rust-system.h
+++ b/gcc/rust/rust-system.h
@@ -44,6 +44,7 @@
#include <utility>
#include <fstream>
#include <array>
+#include <algorithm>
// Rust frontend requires C++11 minimum, so will have unordered_map and set
#include <unordered_map>