Allow non-ASCII characters in Rust identifiers
authorTom Tromey <tom@tromey.com>
Wed, 26 Jan 2022 22:39:03 +0000 (15:39 -0700)
committerTom Tromey <tom@tromey.com>
Sun, 6 Feb 2022 20:24:25 +0000 (13:24 -0700)
commita723766c0e2cc4e8d53813f90f1167e620da0784
treedf2381918760793f58aff764dd8612de819d6b3c
parentc1f5e54825e4ac2d64b267578fd87409e0ea901c
Allow non-ASCII characters in Rust identifiers

Rust 1.53 (quite a while ago now) ungated the support for non-ASCII
identifiers.  This didn't work in gdb.  This is PR rust/20166.

This patch fixes the problem by allowing non-ASCII characters to be
considered as identifier components.  It seemed simplest to just pass
them through -- doing any extra checking didn't seem worthwhile.

The new test also verifies that such characters are allowed in strings
and character literals as well.  The latter also required a bit of
work in the lexer.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=20166
gdb/rust-parse.c
gdb/testsuite/gdb.rust/unicode.exp [new file with mode: 0644]
gdb/testsuite/gdb.rust/unicode.rs [new file with mode: 0644]