## This checks the number of inlined variables with 0% location ## coverage in split dwarf cases. ## $ cat test1.cpp ## __attribute__((optnone)) static void x() { ## } ## __attribute__((always_inline)) static void y() { ## int var; ## x(); ## } ## void f1() { ## y(); ## } ## ## $ cat test2.cpp ## __attribute__((optnone)) static void x() { ## } ## __attribute__((always_inline)) static void y() { ## int var; ## x(); ## } ## void f1(); ## int main() { ## f1(); ## y(); ## } ## $ clang++ -O1 -g -gsplit-dwarf test2.cpp test1.cpp -S ## The split-dwarf.s was handcrafted. REQUIRES: x86_64-linux RUN: rm -rf %t RUN: mkdir %t RUN: cd %t RUN: llvm-mc -triple x86_64-unknown-linux -filetype=obj %S/Inputs/split-dwarf-objfile1.s -o test1.dwo RUN: llvm-mc -triple x86_64-unknown-linux -filetype=obj %S/Inputs/split-dwarf-objfile2.s -o test2.dwo RUN: llvm-mc -triple x86_64-unknown-linux -filetype=obj %S/Inputs/split-dwarf.s -o split-dwarf.o RUN: llvm-dwarfdump --statistics split-dwarf.o | FileCheck %s CHECK: "#variables processed by location statistics": 2 CHECK: "#variables with 0% of parent scope covered by DW_AT_location": 2 CHECK: "#local vars processed by location statistics": 2 CHECK: "#local vars with 0% of parent scope covered by DW_AT_location": 2