Index: lldb/include/lldb/Symbol/Variable.h =================================================================== --- lldb/include/lldb/Symbol/Variable.h +++ lldb/include/lldb/Symbol/Variable.h @@ -33,7 +33,8 @@ const lldb::SymbolFileTypeSP &symfile_type_sp, lldb::ValueType scope, SymbolContextScope *owner_scope, const RangeList &scope_range, Declaration *decl, const DWARFExpression &location, bool external, - bool artificial, bool static_member = false); + bool artificial, bool location_is_constant_data, + bool static_member = false); virtual ~Variable(); Index: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -3418,9 +3418,7 @@ var_sp = std::make_shared( die.GetID(), name, mangled, type_sp, scope, symbol_context_scope, scope_ranges, &decl, location, is_external, is_artificial, - is_static_member); - - var_sp->SetLocationIsConstantValueData(location_is_const_value_data); + location_is_const_value_data, is_static_member); } else { // Not ready to parse this variable yet. It might be a global or static // variable that is in a function scope and the function in the symbol Index: lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp +++ lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp @@ -820,8 +820,7 @@ VariableSP var_sp = std::make_shared( toOpaqueUid(var_id), name.str().c_str(), global_name.c_str(), type_sp, scope, comp_unit.get(), ranges, &decl, location, is_external, false, - false); - var_sp->SetLocationIsConstantValueData(false); + false, false); return var_sp; } @@ -848,8 +847,7 @@ VariableSP var_sp = std::make_shared( toOpaqueUid(var_id), constant.Name.str().c_str(), global_name.c_str(), type_sp, eValueTypeVariableGlobal, module.get(), ranges, &decl, location, - false, false, false); - var_sp->SetLocationIsConstantValueData(true); + false, false, true, false); return var_sp; } @@ -1354,7 +1352,7 @@ VariableSP var_sp = std::make_shared( toOpaqueUid(var_id), name.c_str(), name.c_str(), sftype, var_scope, comp_unit_sp.get(), *var_info.ranges, &decl, *var_info.location, false, - false, false); + false, false, false); if (!is_param) m_ast->GetOrCreateVariableDecl(scope_id, var_id); Index: lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp +++ lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp @@ -1018,8 +1018,8 @@ var_sp = std::make_shared( var_uid, var_name.c_str(), mangled_cstr, type_sp, scope, context_scope, - ranges, &decl, location, is_external, is_artificial, is_static_member); - var_sp->SetLocationIsConstantValueData(is_constant); + ranges, &decl, location, is_external, is_artificial, is_constant, + is_static_member); m_variables.insert(std::make_pair(var_uid, var_sp)); return var_sp; Index: lldb/source/Symbol/Variable.cpp =================================================================== --- lldb/source/Symbol/Variable.cpp +++ lldb/source/Symbol/Variable.cpp @@ -40,12 +40,13 @@ ValueType scope, SymbolContextScope *context, const RangeList &scope_range, Declaration *decl_ptr, const DWARFExpression &location, bool external, - bool artificial, bool static_member) + bool artificial, bool location_is_constant_data, + bool static_member) : UserID(uid), m_name(name), m_mangled(ConstString(mangled)), m_symfile_type_sp(symfile_type_sp), m_scope(scope), m_owner_scope(context), m_scope_range(scope_range), m_declaration(decl_ptr), m_location(location), m_external(external), - m_artificial(artificial), m_loc_is_const_data(false), + m_artificial(artificial), m_loc_is_const_data(location_is_constant_data), m_static_member(static_member) {} Variable::~Variable() {}