xref: /llvm-project/lldb/test/API/commands/statistics/basic/main.cpp (revision 22144e20cbd237a432fdc4106abe3960555aff42)
1*22144e20SJacob Lalonde // Test that the lldb command `statistics` works.
2*22144e20SJacob Lalonde #include <string>
3*22144e20SJacob Lalonde #include <vector>
4*22144e20SJacob Lalonde 
5*22144e20SJacob Lalonde template <typename T> class Box {
6*22144e20SJacob Lalonde   T m_value;
7*22144e20SJacob Lalonde 
8*22144e20SJacob Lalonde public:
9*22144e20SJacob Lalonde   Box(T value) : m_value(value) {}
10*22144e20SJacob Lalonde };
11*22144e20SJacob Lalonde 
12*22144e20SJacob Lalonde void foo() {
13*22144e20SJacob Lalonde   std::string str = "hello world";
14*22144e20SJacob Lalonde   str += "\n"; // stop here
15*22144e20SJacob Lalonde }
16*22144e20SJacob Lalonde 
17*22144e20SJacob Lalonde void bar(int x) {
18*22144e20SJacob Lalonde   auto box = Box<int>(x);
19*22144e20SJacob Lalonde   // stop here
20*22144e20SJacob Lalonde }
21*22144e20SJacob Lalonde 
22*22144e20SJacob Lalonde void vec() {
23*22144e20SJacob Lalonde   std::vector<int> int_vec = {1, 2, 3, 4, 5, 6, 7, 8};
24*22144e20SJacob Lalonde   std::vector<double> double_vec = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0};
25*22144e20SJacob Lalonde   // stop vector
26*22144e20SJacob Lalonde   int x = int_vec.size();
27*22144e20SJacob Lalonde }
28*22144e20SJacob Lalonde 
29*22144e20SJacob Lalonde int main(void) {
30*22144e20SJacob Lalonde   int patatino = 27;
31*22144e20SJacob Lalonde   foo();
32*22144e20SJacob Lalonde   bar(patatino);
33*22144e20SJacob Lalonde   vec();
34*22144e20SJacob Lalonde   return 0; // break here
35*22144e20SJacob Lalonde }
36