diff --git a/lldb/include/lldb/Target/LanguageRuntime.h b/lldb/include/lldb/Target/LanguageRuntime.h index 34f0fdb9cfbc9..9cc79dc976c4d 100644 --- a/lldb/include/lldb/Target/LanguageRuntime.h +++ b/lldb/include/lldb/Target/LanguageRuntime.h @@ -151,11 +151,6 @@ class LanguageRuntime : public Runtime, public PluginInterface { /// from the user interface. virtual bool IsAllowedRuntimeValue(ConstString name) { return false; } - /// Returns 'true' if we the variable with the specified 'name' - /// should be hidden from variable views (e.g., when listing variables in - /// 'frame variable' or 'target variable') - virtual bool ShouldHideVariable(llvm::StringRef name) const { return false; } - virtual std::optional GetRuntimeType(CompilerType base_type) { return std::nullopt; } diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index f3ca16781e9ad..6e79a04d024e5 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -1600,20 +1600,12 @@ bool ValueObject::IsRuntimeSupportValue() { if (!process) return false; - if (!GetVariable()) - return false; - - auto *runtime = process->GetLanguageRuntime(GetVariable()->GetLanguage()); - if (runtime) - if (runtime->ShouldHideVariable(GetName().GetStringRef())) - return true; - // We trust that the compiler did the right thing and marked runtime support // values as artificial. - if (!GetVariable()->IsArtificial()) + if (!GetVariable() || !GetVariable()->IsArtificial()) return false; - if (runtime) + if (auto *runtime = process->GetLanguageRuntime(GetVariable()->GetLanguage())) if (runtime->IsAllowedRuntimeValue(GetName())) return false; diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp index 5945c57e5aa74..0028a51412873 100644 --- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp +++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp @@ -28,7 +28,6 @@ #include "lldb/Target/StackFrame.h" #include "lldb/Target/ThreadPlanRunToAddress.h" #include "lldb/Target/ThreadPlanStepInRange.h" -#include "lldb/Utility/RegularExpression.h" #include "lldb/Utility/Timer.h" using namespace lldb; @@ -41,17 +40,6 @@ char CPPLanguageRuntime::ID = 0; CPPLanguageRuntime::CPPLanguageRuntime(Process *process) : LanguageRuntime(process) {} -bool CPPLanguageRuntime::ShouldHideVariable(llvm::StringRef name) const { - // Matches the global function objects in std::ranges/std::ranges::views - // E.g., - // std::__1::ranges::views::__cpo::take - // std::__1::ranges::__cpo::max_element - static RegularExpression ignore_global_ranges_pattern( - "std::__[[:alnum:]]+::ranges(::views)*::__cpo"); - - return ignore_globale_ranges_pattern.Execute(name); -} - bool CPPLanguageRuntime::IsAllowedRuntimeValue(ConstString name) { return name == g_this; } diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h index 097d1da6e909a..1be58b7bf9ea9 100644 --- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h +++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h @@ -77,8 +77,6 @@ class CPPLanguageRuntime : public LanguageRuntime { lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop_others) override; - bool ShouldHideVariable(llvm::StringRef name) const override; - bool IsAllowedRuntimeValue(ConstString name) override; protected: // Classes that inherit from CPPLanguageRuntime can see and modify these diff --git a/lldb/test/API/lang/cpp/hide_global_ranges_vars/Makefile b/lldb/test/API/lang/cpp/hide_global_ranges_vars/Makefile deleted file mode 100644 index 4f79c0a900c3a..0000000000000 --- a/lldb/test/API/lang/cpp/hide_global_ranges_vars/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CXX_SOURCES := main.cpp -CXXFLAGS_EXTRAS := -std=c++20 - -include Makefile.rules diff --git a/lldb/test/API/lang/cpp/hide_global_ranges_vars/TestHideGlobalRangesVars.py b/lldb/test/API/lang/cpp/hide_global_ranges_vars/TestHideGlobalRangesVars.py deleted file mode 100644 index f7b98a55341df..0000000000000 --- a/lldb/test/API/lang/cpp/hide_global_ranges_vars/TestHideGlobalRangesVars.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Test that frame var and target var hide -the global function objects in the libc++ -ranges implementation""" - -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - -class HideGlobalRangesVarsTestCase(TestBase): - - @add_test_categories(["libc++"]) - @skipIf(compiler=no_match("clang")) - @skipIf(compiler="clang", compiler_version=['<', '16.0']) - def test(self): - self.build() - - lldbutil.run_to_source_breakpoint(self, "return", lldb.SBFileSpec('main.cpp', False)) - - self.expect("frame variable --show-globals", - substrs=["::ranges::views::__cpo", - "::ranges::__cpo"], - matching=False) - - self.expect("target variable", - substrs=["::ranges::views::__cpo", - "::ranges::__cpo"], - matching=False) diff --git a/lldb/test/API/lang/cpp/hide_global_ranges_vars/main.cpp b/lldb/test/API/lang/cpp/hide_global_ranges_vars/main.cpp deleted file mode 100644 index 96a05f846396a..0000000000000 --- a/lldb/test/API/lang/cpp/hide_global_ranges_vars/main.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -int main(int argc, char const *argv[]) { - int arr[3] = {1, 2, 3}; - auto arr_view = std::ranges::views::all(arr); - auto arr_max = std::ranges::max_element(arr); - - return 0; -}