From f7b2e17682b5139a08f7956226bf7ccbdec88230 Mon Sep 17 00:00:00 2001 From: Raiki Tamura Date: Fri, 14 Jul 2023 14:45:34 +0900 Subject: gccrs: Add Unicode check for crate_name attributes gcc/rust/ChangeLog: * lex/rust-codepoint.h: Add comment * lex/rust-lex.h: New method to get decoded characters * rust-session-manager.cc (validate_crate_name): Modify unicode check (rust_crate_name_validation_test): Add testcases * util/rust-unicode.h (RUST_UNICODE_H): New class Utf8String. (class Utf8String): New class. * util/rust-unicode.cc (binary_search_sorted_array): Add comment. (recursive_decomp_cano): Add comment. (recomp): Remove dead code. (dump_string): Removed. gcc/testsuite/ChangeLog: * rust/compile/bad-crate-name.rs: Moved to... * rust/compile/bad-crate-name1.rs: ...here. * rust/compile/bad-crate-name2.rs: New test. Signed-off-by: Raiki Tamura --- gcc/testsuite/rust/compile/bad-crate-name.rs | 4 ---- gcc/testsuite/rust/compile/bad-crate-name1.rs | 4 ++++ gcc/testsuite/rust/compile/bad-crate-name2.rs | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 gcc/testsuite/rust/compile/bad-crate-name.rs create mode 100644 gcc/testsuite/rust/compile/bad-crate-name1.rs create mode 100644 gcc/testsuite/rust/compile/bad-crate-name2.rs (limited to 'gcc/testsuite/rust/compile') diff --git a/gcc/testsuite/rust/compile/bad-crate-name.rs b/gcc/testsuite/rust/compile/bad-crate-name.rs deleted file mode 100644 index 6c59c255..0000000 --- a/gcc/testsuite/rust/compile/bad-crate-name.rs +++ /dev/null @@ -1,4 +0,0 @@ -// { dg-additional-options "-frust-crate=bad+name" } -// { dg-excess-errors "invalid crate name: ...." } -// { dg-excess-errors "unrecognized command-line option ...." } -fn main() {} diff --git a/gcc/testsuite/rust/compile/bad-crate-name1.rs b/gcc/testsuite/rust/compile/bad-crate-name1.rs new file mode 100644 index 0000000..6c59c255 --- /dev/null +++ b/gcc/testsuite/rust/compile/bad-crate-name1.rs @@ -0,0 +1,4 @@ +// { dg-additional-options "-frust-crate=bad+name" } +// { dg-excess-errors "invalid crate name: ...." } +// { dg-excess-errors "unrecognized command-line option ...." } +fn main() {} diff --git a/gcc/testsuite/rust/compile/bad-crate-name2.rs b/gcc/testsuite/rust/compile/bad-crate-name2.rs new file mode 100644 index 0000000..1d80fa5 --- /dev/null +++ b/gcc/testsuite/rust/compile/bad-crate-name2.rs @@ -0,0 +1,2 @@ +#![crate_name = "😅"] // { dg-error "invalid character ...." "" } +fn main() {} -- cgit v1.1