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