Summary
This patch makes LLDB understand the DW_AT_default_value on
template argument DIEs. As a result, type summaries will no
longer contain the defaulted template arguments, reducing
noise substantially. E.g.,
Before:
(lldb) v nested (std::vector<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator <char> > > > > >) nested = size=0 {}
After:
(lldb) v nested (std::vector<std::vector<std::basic_string<char> > >) nested = size=0 {}
See discussion in https://reviews.llvm.org/D140423
Testing
- Adjusted API tests
- Added DWARFASTParserClang unit test
nit: LLVM coding style doesn't use {} on single-statement conditionals.