On Thu, Aug 6, 2015 at 4:17 PM, Siva Chandra <sivachan...@google.com> wrote: > > On Thu, Aug 6, 2015 at 3:58 PM, Enrico Granata <egran...@apple.com> wrote: >> The obvious mechanism is that the compiler has knowledge of the structure >> of the type - so it can make printing decisions based on that type structure >> In this case, I imagine a viable approach would be having rules like >> omitting the values of template arguments that have a default value, omit >> inlined namespaces, ... > > > OK. I will be on vacation next week. Will give this idea a shot after > getting back.
I have spent time yesterday and today looking into how this can be done. I still could not come up with a way to make the compiler/clang replace a name like "basic_string" with "string" by using a print option. About inlined namespaces: None of the compilers I tested with (clang-3.5, clang ToT, gcc-4.8) emit the "inline" attribute for an inlined namespace in the DWARF. So, we will have to first "fix" this in the compilers before we can build an option around this. About default template arguments: Again, none of the compilers I tested with emit an attribute in the DWARF to convey that a template argument is taking the default value. I am not sure there is an attribute available here that we can use readily. I could think of DW_AT_artificial, but default template arguments are really not artificial. Another is DW_AT_explicit. However, this could potentially lead to an increase in DWARF size as each and every template argument should now carry this attribute. Am I thinking about this "feature" correctly? As in, in the same way as you are thinking about it? _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev