jimingham wrote:

> > How does this patch fit with the:
> > ```
> >    -p ( --skip-pointers )
> >         Don't use this format for pointers-to-type objects.
> > 
> >    -r ( --skip-references )
> >         Don't use this format for references-to-type objects.
> > ```
> > 
> > 
> >     
> >       
> >     
> > 
> >       
> >     
> > 
> >     
> >   
> > settings in `type <formatter> add`? It seems like we let the formatters 
> > control whether they should also apply to pointers and references to those 
> > types. Shouldn't that be what controls whether formatters also apply to 
> > pointers?
> > And if a formatter says it can handle pointers, it's up to the formatter to 
> > do that right.
> 
> This has no impact for reference. For pointers, if `-p` is set in `type 
> <formatter> add`, the new formatter will apply only the type T and this patch 
> has no impact for that. This patch changes the behaviour when `-p` is not 
> set. Currently, lldb apply the new formatter to `T`, `T*`, `T**` and so on if 
> `-p` is not set. This change let lldb only apply the formatter to `T` and 
> `T*`.

If you write the formatter knowing that you've asked all for a match against 
all the pointers to this type, it's up to the formatter to not assume it's only 
being passed T or T*.  I still don't see why we should be cutting this off in 
lldb.  If I have a std::vector variable, I want to see its size in the local 
view, regardless of whether the handle to it is a pointer, or a pointer to a 
pointer.  It seems artificial to cut that off for me.

https://github.com/llvm/llvm-project/pull/124048
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to