brintos

brintos / llvm-project-archived public Read only

0
0
Text · 737 B · 95758a2 Raw
26 lines · cpp
1// RUN: %clang_cc1 -O1 -triple x86_64-unknown_unknown -emit-llvm \2// RUN:   -debug-info-kind=standalone -dwarf-version=5 %s -o - | FileCheck %s3 4// Ensure both nonmember and member calls to declared function5// have attached `DISubprogram`s.6 7int nonmember(int n);8 9struct S {10  int x;11  int member(int n);12};13 14int main(int argc, char** argv) {15  struct S s = {};16  int a = s.member(argc);17  int b = nonmember(argc);18  return a + b;19}20 21// CHECK: declare !dbg ![[SP1:[0-9]+]] noundef i32 @_ZN1S6memberEi(22// CHECK: declare !dbg ![[SP2:[0-9]+]] noundef i32 @_Z9nonmemberi(23 24// CHECK: ![[SP1]] = !DISubprogram(name: "member", linkageName: "_ZN1S6memberEi"25// CHECK: ![[SP2]] = !DISubprogram(name: "nonmember", linkageName: "_Z9nonmemberi"26