]> git.lizzy.rs Git - rust.git/commitdiff
Turn CDB test back on and all clarifying test
authorRyan Levick <me@ryanlevick.com>
Mon, 20 Jun 2022 16:45:08 +0000 (18:45 +0200)
committerRyan Levick <me@ryanlevick.com>
Thu, 4 Aug 2022 08:39:35 +0000 (10:39 +0200)
src/test/debuginfo/no_mangle-info.rs

index 7bedcaf2110e810efc46ae71e0a35966b0dc09d9..1e182eb7cc06f6d761bf51c0592e426a6615f27a 100644 (file)
@@ -4,22 +4,34 @@
 // gdb-command:run
 // gdb-command:whatis TEST
 // gdb-check:type = u64
+// gdb-command:whatis no_mangle_info::namespace::OTHER_TEST
+// gdb-check:type = u64
 
 // === LLDB TESTS ==================================================================================
 // lldb-command:run
 // lldb-command:expr TEST
 // lldb-check: (unsigned long) $0 = 3735928559
+// lldb-command:expr no_mangle_test::namespace::OTHER_TEST
+// lldb-check: (unsigned long) $0 = 42
 
 // === CDB TESTS ==================================================================================
-// FIXME: This does not currently work due to a bug in LLVM
-// The fix for this is being tracked in rust-lang/rust#98295
-// // cdb-command: g
-// // cdb-command: dx a!no_mangle_info::TEST
-// // cdb-check: a!no_mangle_info::TEST : 0xdeadbeef [Type: unsigned __int64]
+// cdb-command: g
+// Note: LLDB and GDB allow referring to items that are in the same namespace of the symbol
+// we currently have a breakpoint on in an unqualified way. CDB does not, and thus we need to
+// refer to it in a fully qualified way.
+// cdb-command: dx a!no_mangle_info::TEST
+// cdb-check: a!no_mangle_info::TEST : 0xdeadbeef [Type: unsigned __int64]
+// cdb-command: dx a!no_mangle_info::namespace::OTHER_TEST
+// cdb-check: a!no_mangle_info::namespace::OTHER_TEST : 0x2a [Type: unsigned __int64]
 
 #[no_mangle]
 pub static TEST: u64 = 0xdeadbeef;
 
+pub mod namespace {
+    pub static OTHER_TEST: u64 = 42;
+}
+
 pub fn main() {
-    println!("TEST: {}", TEST); // #break
+    println!("TEST: {}", TEST);
+    println!("OTHER TEST: {}", namespace::OTHER_TEST); // #break
 }