C++程序  |  25行  |  582 B

// RUN: %clang_cc1 -triple x86_64-unknown_unknown -emit-llvm -debug-info-kind=standalone -dwarf-column-info %s -o - | FileCheck %s
void ext();

struct Bar {
  void bar() { ext(); }
};

struct Foo {
  Bar *b;

  Bar *foo() { return b; }
};

void test(Foo *f) {
  f->foo()->bar();
}

// CHECK-LABEL: @_Z4testP3Foo
// CHECK: call {{.*}} @_ZN3Foo3fooEv{{.*}}, !dbg ![[CALL1LOC:.*]]
// CHECK: call void @_ZN3Bar3barEv{{.*}}, !dbg ![[CALL2LOC:.*]]

// CHECK: ![[CALL1LOC]] = !DILocation(line: [[LINE:[0-9]+]], column: 6,
// CHECK: ![[CALL2LOC]] = !DILocation(line: [[LINE]], column: 13,