jasonmolenda wrote:

I was trying to think about how to express my point more succulently.  I like 
to write tests that are exercising a specific core part of lldb behavior, to 
make it clear what they're intended to be doing.  In this case, we're testing 
what stack and heap memory lldb will fetch when displaying the locals with a 
simple `frame variable` and nothing more specific?  In that case, all ordinal 
types, and pointers, are identical - lldb will fetch the bytes of the ordinal 
value (from stack) and print it.  `char*` is the one exception where there is a 
formatter that reads the bytes of the pointer value, and then reads the 
c-string that it points to.  Whether the locals are ints, longs, doubles, 
uint64_t's, or arrays of the same, doesn't make any difference  to what we're 
testing here.  IMO it makes the test look like it is exercising many different 
things, but in fact it is testing one, or two things, with a c-string.  Even if 
we have a pointer to an ordinal on heap, unless you do `frame variable *p`, we 
won't fetch the value from the heap; only the pointer value is printed by the 
`frame variable` command.

https://github.com/llvm/llvm-project/pull/205897
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to