Add a test for static member debug information.
authorEric Christopher <echristo@gmail.com>
Wed, 16 Jan 2013 01:22:09 +0000 (01:22 +0000)
committerEric Christopher <echristo@gmail.com>
Wed, 16 Jan 2013 01:22:09 +0000 (01:22 +0000)
Part of PR14471.

Patch by Paul Robinson.

llvm-svn: 172589

debuginfo-tests/static-member.cpp [new file with mode: 0644]

diff --git a/debuginfo-tests/static-member.cpp b/debuginfo-tests/static-member.cpp
new file mode 100644 (file)
index 0000000..3bbc982
--- /dev/null
@@ -0,0 +1,35 @@
+// RUN: %clangxx -O0 -g %s -o %t.out
+// RUN: %test_debuginfo %s %t.out
+
+// DEBUGGER: delete breakpoints
+// DEBUGGER: break main
+// DEBUGGER: r
+// DEBUGGER: n
+// DEBUGGER: ptype C
+// CHECK:      type = class C {
+// CHECK-NEXT: public:
+// CHECK-NEXT: static const int a;
+// CHECK-NEXT: static int b;
+// CHECK-NEXT: static int c;
+// CHECK-NEXT: int d;
+// CHECK-NEXT: }
+// DEBUGGER: p instance_C
+// CHECK: $1 = {static a = 4, static b = {{.*}}, static c = 15, d = {{.*}}}
+
+// PR14471, PR14734
+
+class C {
+public:
+  const static int a = 4;
+  static int b;
+  static int c;
+  int d;
+};
+
+int C::c = 15;
+const int C::a;
+
+int main() {
+    C instance_C;
+    return C::a;
+}