Author: gclayton Date: Fri Apr 29 16:00:38 2016 New Revision: 268101 URL: http://llvm.org/viewvc/llvm-project?rev=268101&view=rev Log: Fix TestGetVariables.py so it works correctly. We had duplicate static values showing up as we would find static variables in the Block and also in the compile unit. We now make sure a variable hasn't been added to the list before we add it.
Modified: lldb/trunk/source/API/SBFrame.cpp Modified: lldb/trunk/source/API/SBFrame.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBFrame.cpp?rev=268101&r1=268100&r2=268101&view=diff ============================================================================== --- lldb/trunk/source/API/SBFrame.cpp (original) +++ lldb/trunk/source/API/SBFrame.cpp Fri Apr 29 16:00:38 2016 @@ -10,6 +10,7 @@ // C Includes // C++ Includes #include <algorithm> +#include <set> #include <string> // Other libraries and framework includes @@ -1142,7 +1143,8 @@ SBFrame::GetVariables (const lldb::SBVar arguments, locals, statics, in_scope_only, include_runtime_support_values, use_dynamic); - + + std::set<VariableSP> variable_set; Process *process = exe_ctx.GetProcessPtr(); if (target && process) { @@ -1186,6 +1188,12 @@ SBFrame::GetVariables (const lldb::SBVar } if (add_variable) { + // Only add variables once so we don't end up with duplicates + if (variable_set.find(variable_sp) == variable_set.end()) + variable_set.insert(variable_sp); + else + continue; + if (in_scope_only && !variable_sp->IsInScope(frame)) continue; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits