From 3640f7903424bf1a457f2332261208cdcf37f055 Mon Sep 17 00:00:00 2001 From: David Wood Date: Thu, 24 Aug 2023 09:54:18 +0100 Subject: [PATCH] compiletest: support for newer lldb versions Newer lldb versions disable printing of persistent results by default, but lots of rustc debuginfo tests rely on these being printed, so re-enable this by defining an alias as suggested by the patch which disabled persistent result printing in lldb. Signed-off-by: David Wood --- src/tools/compiletest/src/runtest.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index dd4c59fdff51..a8b1cd6c237f 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -1430,6 +1430,15 @@ impl<'test> TestCx<'test> { "^core::num::([a-z_]+::)*NonZero.+$", ]; + // In newer versions of lldb, persistent results (the `$N =` part at the start of + // expressions you have evaluated that let you re-use the result) aren't printed, but lots + // of rustc's debuginfo tests rely on these, so re-enable this. + // See . + script_str.push_str("command unalias print\n"); + script_str.push_str("command alias print expr --\n"); + script_str.push_str("command unalias p\n"); + script_str.push_str("command alias p expr --\n"); + script_str .push_str(&format!("command script import {}\n", &rust_pp_module_abs_path[..])[..]); script_str.push_str("type synthetic add -l lldb_lookup.synthetic_lookup -x '.*' ");