28 lines · cpp
1// XFAIL: *2//3// FIXME: Explicit object parameter is not shown in4// type lookup output. This is because we don't attach5// valid source locations to decls in the DWARF AST,6// so the ParmVarDecl::isExplicitObjectParameter fails.7 8// Tests that we correctly deduce the CV-quals and storage9// class of explicit object member functions.10//11// RUN: %clangxx_host %s -glldb -target x86_64-pc-linux -g -std=c++23 -c -o %t12// RUN: %lldb %t -b -o "type lookup Foo" 2>&1 | FileCheck %s13//14// CHECK: (lldb) type lookup Foo15// CHECK-NEXT: struct Foo {16// CHECK-NEXT: void Method(this Foo);17// CHECK-NEXT: void cMethod(this const Foo &) const;18// CHECK-NEXT: void vMethod(this volatile Foo &) volatile;19// CHECK-NEXT: void cvMethod(this const volatile Foo &) const volatile;20// CHECK-NEXT: }21 22struct Foo {23 void Method(this Foo) {}24 void cMethod(this Foo const &) {}25 void vMethod(this Foo volatile &) {}26 void cvMethod(this Foo const volatile &) {}27} f;28