diff --git a/lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp b/lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp new file mode 100644 index 0000000000000..bda9bb99f04a0 --- /dev/null +++ b/lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp @@ -0,0 +1,22 @@ +// XFAIL: * + +// Tests that we correctly deduce the CV-quals and storage +// class of explicit object member functions. +// +// RUN: %clangxx_host %s -triple x86_64-pc-linux -g -std=c++23 -c -o %t +// RUN: %lldb %t -b -o "type lookup Foo" 2>&1 | FileCheck %s +// +// CHECK: (lldb) type lookup Foo +// CHECK-NEXT: struct Foo { +// CHECK-NEXT: void Method(Foo); +// CHECK-NEXT: void cMethod(Foo const&); +// CHECK-NEXT: void vMethod(Foo volatile&); +// CHECK-NEXT: void cvMethod(const Foo volatile&) const volatile; +// CHECK-NEXT: } + +struct Foo { + void Method(this Foo) {} + void cMethod(this Foo const &) {} + void vMethod(this Foo volatile &) {} + void cvMethod(this Foo const volatile &) {} +} f;