summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp')
-rw-r--r--llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp
index b07a1537d6b..ced32e41008 100644
--- a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp
+++ b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp
@@ -1,12 +1,22 @@
-void f1();
-__attribute__((always_inline)) void f2() {
+__attribute__((optnone)) void f1() {}
+inline __attribute__((always_inline)) void f2() {
f1();
}
-void f3() {
+// throw a gap in the address range to force use of DW_AT_ranges, ranges_base,
+// range contribution in the .dwo file, etc.
+__attribute__((nodebug)) void gap() {
+}
+int main() {
f2();
}
-To produce split-dwarf-dwp.o{,dwp}, run:
-
- $ clang++ split-dwarf-dwp.cpp -gsplit-dwarf -c -Xclang -fdebug-compilation-dir=Output -fno-split-dwarf-inlining
- $ llvm-dwp split-dwarf-dwp.dwo -o split-dwarf-dwp.o.dwp
+// To produce split-dwarf-dwp.o{,dwp}, Create another file that has ranges, so
+// the ranges_base of the CU for split-dwarf-dwp.cpp is non-zero.
+//
+// $ cat > other.cpp
+// void other1() {}
+// __attribute__((nodebug)) void other2() {}
+// void other3() {}
+// $ clang++ other.cpp split-dwarf-dwp.cpp -gsplit-dwarf -c -Xclang -fdebug-compilation-dir -Xclang Output -fno-split-dwarf-inlining
+// $ llvm-dwp other.dwo other.dwo split-dwarf-dwp.dwo -o test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp
+// $ ld -r other.o split-dwarf-dwp.o -o test/DebugInfo/Inputs/split-dwarf-dwp.o
OpenPOWER on IntegriCloud