[llvm-commits] [debuginfo-tests] r125250 - /debuginfo-tests/trunk/sret.cpp
Devang Patel
dpatel at apple.com
Wed Feb 9 16:41:14 PST 2011
Author: dpatel
Date: Wed Feb 9 18:41:14 2011
New Revision: 125250
URL: http://llvm.org/viewvc/llvm-project?rev=125250&view=rev
Log:
test case for r125249.
Added:
debuginfo-tests/trunk/sret.cpp
Added: debuginfo-tests/trunk/sret.cpp
URL: http://llvm.org/viewvc/llvm-project/debuginfo-tests/trunk/sret.cpp?rev=125250&view=auto
==============================================================================
--- debuginfo-tests/trunk/sret.cpp (added)
+++ debuginfo-tests/trunk/sret.cpp Wed Feb 9 18:41:14 2011
@@ -0,0 +1,70 @@
+// RUN: %clangxx -O0 -g %s -c -o %t.o
+// RUN: %clangxx %t.o -o %t.out
+// RUN: %test_debuginfo %s %t.out
+// Radar 8775834
+// DEBUGGER: break 60
+// DEBUGGER: r
+// DEBUGGER: p a
+// CHECK: $1 = (A &)
+// CHECK: _vptr$A =
+// CHECK: m_int = 12
+
+class A
+{
+public:
+ A (int i=0);
+ A (const A& rhs);
+ const A&
+ operator= (const A& rhs);
+ virtual ~A() {}
+
+ int get_int();
+
+protected:
+ int m_int;
+};
+
+A::A (int i) :
+ m_int(i)
+{
+}
+
+A::A (const A& rhs) :
+ m_int (rhs.m_int)
+{
+}
+
+const A &
+A::operator =(const A& rhs)
+{
+ m_int = rhs.m_int;
+}
+
+int A::get_int()
+{
+ return m_int;
+}
+
+class B
+{
+public:
+ B () {}
+
+ A AInstance();
+};
+
+A
+B::AInstance()
+{
+ A a(12);
+ return a;
+}
+
+int main (int argc, char const *argv[])
+{
+ B b;
+ int return_val = b.AInstance().get_int();
+
+ A a(b.AInstance());
+ return return_val;
+}
More information about the llvm-commits
mailing list