diff --git a/lldb/source/ValueObject/ValueObject.cpp b/lldb/source/ValueObject/ValueObject.cpp index aca43175d12fac..4006f6e6fd0a5e 100644 --- a/lldb/source/ValueObject/ValueObject.cpp +++ b/lldb/source/ValueObject/ValueObject.cpp @@ -2907,15 +2907,6 @@ ValueObjectSP ValueObject::AddressOf(Status &error) { AddressType address_type = eAddressTypeInvalid; const bool scalar_is_load_address = false; - - // For reference type we need to get the address of the object that - // it refers to. - if (GetCompilerType().IsReferenceType()) { - ValueObjectSP deref_obj = Dereference(error); - if (error.Fail() || !deref_obj) - return ValueObjectSP(); - return deref_obj->AddressOf(error); - } addr_t addr = GetAddressOf(scalar_is_load_address, &address_type); error.Clear(); if (addr != LLDB_INVALID_ADDRESS && address_type != eAddressTypeHost) { diff --git a/lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py b/lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py index 1374d4e1ec67ab..938fb1a6edf32c 100644 --- a/lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py +++ b/lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py @@ -25,24 +25,3 @@ def test(self): # Typedef to a reference should dereference to the underlying type. td_val = self.expect_var_path("td_to_ref_type", type="td_int_ref") self.assertEqual(td_val.Dereference().GetType().GetName(), "int") - - def test_take_address_of_reference(self): - """Tests taking address of lvalue/rvalue references in lldb works correctly.""" - self.build() - lldbutil.run_to_source_breakpoint( - self, "// break here", lldb.SBFileSpec("main.cpp") - ) - - plref_val_from_code = self.expect_var_path("pl_ref", type="TTT *") - plref_val_from_expr_path = self.expect_var_path("&l_ref", type="TTT *") - self.assertEqual( - plref_val_from_code.GetValueAsAddress(), - plref_val_from_expr_path.GetValueAsAddress(), - ) - - prref_val_from_code = self.expect_var_path("pr_ref", type="TTT *") - prref_val_from_expr_path = self.expect_var_path("&r_ref", type="TTT *") - self.assertEqual( - prref_val_from_code.GetValueAsAddress(), - prref_val_from_expr_path.GetValueAsAddress(), - ) diff --git a/lldb/test/API/lang/cpp/dereferencing_references/main.cpp b/lldb/test/API/lang/cpp/dereferencing_references/main.cpp index 4ddffd167ddeed..b64978a9029f81 100644 --- a/lldb/test/API/lang/cpp/dereferencing_references/main.cpp +++ b/lldb/test/API/lang/cpp/dereferencing_references/main.cpp @@ -9,7 +9,5 @@ int main() { // typedef of a reference td_int_ref td_to_ref_type = i; - TTT *pl_ref = &l_ref; - TTT *pr_ref = &r_ref; return l_ref; // break here }