teak-llvm/lldb/packages/Python/lldbsuite/test/lang/cpp/member-and-local-vars-with-same-name/main.cpp
Siva Chandra 03ff5c8616 Take 2: Use an artifical namespace so that member vars do not hide local vars.
Summary: This relands r259810 with fix for failures on Mac.

Reviewers: spyffe, tfiala

Subscribers: tfiala, lldb-commits

Differential Revision: http://reviews.llvm.org/D16900

llvm-svn: 259902
2016-02-05 19:10:04 +00:00

74 lines
1014 B
C++

namespace NN
{
int a = 778899;
int b = 665544;
int c = 445566;
}
class A
{
public:
A();
int Method(int a, int b);
private:
int a, b;
};
A::A() : a(10), b(100) { }
int a = 112233;
int b = 445566;
int c = 778899;
int
A::Method(int a, int b)
{
{
int a = 12345;
int b = 54321;
int c = 34567;
this->a = a + b + this->b; // Break 2
}
{
using namespace NN;
int a = 10001;
int b = 10002;
int c = 10003;
this->a = a + b + this->b; // Break 3
}
return this->a + this->b + a + b; // Break 4
}
int
Function(int a, int b)
{
int A;
{
int a = 12345;
int b = 54321;
int c = 34567;
A = a + b + c; // Break 5
}
{
using namespace NN;
int a = 10001;
int b = 10002;
int c = 10003;
A = a + b + c; // Break 6
}
return A + a + b; // Break 7
}
int
main()
{
A obj;
return obj.Method(1, 2) + Function(1, 2); // Break 1
}