summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/debug-info-method.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/debug-info-method.cpp')
-rw-r--r--test/CodeGenCXX/debug-info-method.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/test/CodeGenCXX/debug-info-method.cpp b/test/CodeGenCXX/debug-info-method.cpp
index cb022bc..3ee4d9b 100644
--- a/test/CodeGenCXX/debug-info-method.cpp
+++ b/test/CodeGenCXX/debug-info-method.cpp
@@ -1,6 +1,27 @@
-// RUN: %clang -fverbose-asm -g -S %s -o - | grep DW_ACCESS_protected
+// RUN: %clang_cc1 -emit-llvm -std=c++11 -g %s -o - | FileCheck %s
+// CHECK: ![[THISTYPE:[0-9]+]] = {{.*}} ; [ DW_TAG_pointer_type ] {{.*}} [artificial] [from A]
+// CHECK: metadata !"_ZN1A3fooEiS_3$_0", {{.*}} [protected]
+// CHECK: DW_TAG_ptr_to_member_type
+// CHECK: {{.*}}metadata ![[MEMFUNTYPE:[0-9]+]], metadata !{{.*}}} ; [ DW_TAG_ptr_to_member_type ] {{.*}} [from ]
+// CHECK: ![[MEMFUNTYPE]] = {{.*}}metadata ![[MEMFUNARGS:[0-9]+]], i32 0, i32 0} ; [ DW_TAG_subroutine_type ] {{.*}} [from ]
+// CHECK: ![[MEMFUNARGS]] = {{.*}}, metadata ![[THISTYPE]],
+// CHECK: ""{{.*}}DW_TAG_arg_variable
+// CHECK: ""{{.*}}DW_TAG_arg_variable
+// CHECK: ""{{.*}}DW_TAG_arg_variable
+union {
+ int a;
+ float b;
+} u;
+
class A {
protected:
- int foo();
+ void foo(int, A, decltype(u));
};
+
+void A::foo(int, A, decltype(u)) {
+}
+
A a;
+
+int A::*x = 0;
+int (A::*y)(int) = 0;
OpenPOWER on IntegriCloud