[Lldb-commits] [Bug 12621] can not print vector element

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 23 11:36:51 PDT 2012


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

Greg Clayton <clayborg at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |clayborg at gmail.com
         Resolution|                            |WONTFIX

--- Comment #2 from Greg Clayton <clayborg at gmail.com> 2012-04-23 13:36:51 CDT ---
This behaves correctly from the expression parser standpoint. You never used
"std::vector<int>::operator[]" in your program and we won't be able to, from
the DWARF alone, conjure up a function call that implements the operator[]
functionality. 

If you use the operator[] in your program at least once, then we will be able
to call it. 

If we ever hope to instantiate inlined functions that didn't make it into your
compiled output, we will need a complete AST for each object file. We would
also need to modify the clang JIT to be able to ask for a function when it
needs one (like _ZNSt6vectorIiSaIiEEixEm) and be able to not get one, and then
be able to follow up with a call that says "please instantiate an inlined
instance of _ZNSt6vectorIiSaIiEEixEm for me". We don't have any of this right
now. 

If you use our "frame variable" command, which doesn't use the expression
parser, then we can let our synthetic child provider for std::vector do what we
want:

(lldb) frame variable v[1]
(int) v[1] = 1

So this currently works, but it won't work with the expression parser for well
known reasons.

-- 
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