brintos

brintos / llvm-project-archived public Read only

0
0
Text · 866 B · 49079f5 Raw
29 lines · cpp
1// RUN: %clang_cc1 -x c++ -std=c++23 -debug-info-kind=limited -emit-llvm < %s | FileCheck %s2 3// CHECK: !DISubprogram(name: "bar",4// CHECK-SAME:          flags: DIFlagPrototyped5// CHECK: !DIDerivedType(tag: DW_TAG_pointer_type6// CHECK-SAME:           flags: DIFlagArtificial | DIFlagObjectPointer7//8// CHECK: !DISubprogram(name: "explicit_this",9//                      flags: DIFlagPrototyped10//11// CHECK: !DIDerivedType(tag: DW_TAG_rvalue_reference_type12// CHECK-SAME:           flags: DIFlagObjectPointer)13//14// CHECK: !DILocalVariable(name: "this", arg: 115// CHECK-SAME:             flags: DIFlagArtificial | DIFlagObjectPointer16//17// CHECK-NOT: DIFlagArtificial18// CHECK: !DILocalVariable(arg: 1, {{.*}}, flags: DIFlagObjectPointer)19 20struct Foo {21  void bar() {}22  void explicit_this(this Foo &&) {}23};24 25void f() {26  Foo{}.bar();27  Foo{}.explicit_this();28}29