[Lldb-commits] [Bug 11588] valobj.AddressOf() returns None when an address is expected in a SyntheticChildrenProvider

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Dec 16 15:06:47 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=11588

johnny.chen at apple.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |johnny.chen at apple.com
         Resolution|                            |FIXED

--- Comment #1 from johnny.chen at apple.com 2011-12-16 17:06:47 CST ---
Checked in http://llvm.org/viewvc/llvm-project?rev=146768&view=rev.

Patch from Enrico Granata:

The problem was that the frozen object created by the expression parser was a
copy of the contents of the StgClosure, rather than a pointer to it. Thus, the
expression parser was correctly computing the result of the arithmetic&cast
operation along with its address, but only saving it in the live object. This
meant that the frozen copy acted as an address-less variable, hence the
problem.

The fix attached to this email lets the expression parser store the "live
address" in the frozen copy of the address when the object is built without a
valid address of its own.
Doing so, along with delegating ValueObjectConstResult to calculate its own
address when necessary, solves the issue. I have also added a new test case to
check for regressions in this area, and checked that existing test cases pass
correctly.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the lldb-commits mailing list