Special case "&str" in Rust parser
authorTom Tromey <tom@tromey.com>
Wed, 17 May 2023 15:07:50 +0000 (09:07 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 17 May 2023 17:47:16 +0000 (11:47 -0600)
commitcd61a1453e685a763bd91b3795a58edd3d9b4f40
treeefb4285ba1cdd9ec2d28d024bdbda5243c558599
parent80d4e113d7b9af8a5a36e5ea4399bca86050784f
Special case "&str" in Rust parser

"&str" is an important type in Rust -- it's the type of string
literals.  However, the compiler puts it in the DWARF in a funny way.
The slice itself is present and named "&str".  However, the Rust
parser doesn't look for types with names like this, but instead tries
to construct them from components.  In this case it tries to make a
pointer-to-"str" -- but "str" isn't always available, and in any case
that wouldn't yield the best result.

This patch adds a special case for &str.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22251
Reviewed-By: Andrew Burgess <aburgess@redhat.com>
gdb/rust-parse.c
gdb/testsuite/gdb.rust/simple.exp