blob: 597df8f92a4dc96167ca4b6c00ff4ef285628bbb [file] [log] [blame]
## 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