- help type summary add now gives some hints on how to use it frame variable and target variable now have a --no-summary-depth (-Y) option: - simply using -Y without an argument will skip one level of summaries, i.e. your aggregate types will expand their children and display no summary, even if they have one. children will behave normally - using -Y<int>, as in -Y4, -Y7, ..., will skip as many levels of summaries as given by the <int> parameter (obviously, -Y and -Y1 are the same thing). children beneath the given depth level will behave normally -Y0 is the same as omitting the --no-summary-depth parameter entirely This option replaces the defined-but-unimplemented --no-summary llvm-svn: 135336
57 lines
1021 B
C++
57 lines
1021 B
C++
#include <string>
|
|
|
|
struct DeepData_5
|
|
{
|
|
std::string m_some_text;
|
|
DeepData_5() :
|
|
m_some_text("Just a test") {}
|
|
};
|
|
|
|
struct DeepData_4
|
|
{
|
|
DeepData_5 m_child1;
|
|
DeepData_5 m_child2;
|
|
DeepData_5 m_child3;
|
|
};
|
|
|
|
struct DeepData_3
|
|
{
|
|
DeepData_4& m_child1;
|
|
DeepData_4 m_child2;
|
|
|
|
DeepData_3() : m_child1(* (new DeepData_4())), m_child2(DeepData_4()) {}
|
|
};
|
|
|
|
struct DeepData_2
|
|
{
|
|
DeepData_3 m_child1;
|
|
DeepData_3 m_child2;
|
|
DeepData_3 m_child3;
|
|
DeepData_3 m_child4;
|
|
};
|
|
|
|
struct DeepData_1
|
|
{
|
|
DeepData_2 *m_child1;
|
|
|
|
DeepData_1() :
|
|
m_child1(new DeepData_2())
|
|
{}
|
|
};
|
|
|
|
/*
|
|
type summary add -f "${var._M_dataplus._M_p}" std::string
|
|
type summary add -f "Level 1" "DeepData_1"
|
|
type summary add -f "Level 2" "DeepData_2" -e
|
|
type summary add -f "Level 3" "DeepData_3"
|
|
type summary add -f "Level 4" "DeepData_4"
|
|
type summary add -f "Level 5" "DeepData_5"
|
|
*/
|
|
|
|
int main()
|
|
{
|
|
DeepData_1 data1;
|
|
DeepData_2 data2;
|
|
|
|
return 0; // Set break point at this line.
|
|
} |