From 30e58303015fe880180e3caffdd8a3264cde236a Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Mon, 19 May 2014 23:41:25 +0000 Subject: [PATCH] LTO: Add a testcase for linking modules with incompatible Debug Info Versions. rdar://problem/16926122 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209183 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Linker/debug-info-version-a.ll | 16 ++++++++++++++++ test/Linker/debug-info-version-b.ll | 10 ++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/Linker/debug-info-version-a.ll create mode 100644 test/Linker/debug-info-version-b.ll diff --git a/test/Linker/debug-info-version-a.ll b/test/Linker/debug-info-version-a.ll new file mode 100644 index 00000000000..c3d9c87a2e9 --- /dev/null +++ b/test/Linker/debug-info-version-a.ll @@ -0,0 +1,16 @@ +; RUN: llvm-link %s %p/debug-info-version-b.ll -S -o - | FileCheck %s + +; Test linking of incompatible debug info versions. The debug info +; from the other file should be dropped. + +; CHECK-NOT: metadata !{metadata !"b.c", metadata !""} +; CHECK: metadata !{metadata !"a.c", metadata !""} +; CHECK-NOT: metadata !{metadata !"b.c", metadata !""} + +!llvm.module.flags = !{ !0 } +!llvm.dbg.cu = !{!1} + +!0 = metadata !{i32 2, metadata !"Debug Info Version", i32 1} +!1 = metadata !{i32 589841, metadata !2, i32 12, metadata !"clang", i1 true, metadata !"", i32 0, metadata !3, metadata !3, metadata !3, null, null, metadata !""} ; [ DW_TAG_compile_unit ] +!2 = metadata !{metadata !"a.c", metadata !""} +!3 = metadata !{} diff --git a/test/Linker/debug-info-version-b.ll b/test/Linker/debug-info-version-b.ll new file mode 100644 index 00000000000..2b4f1844d16 --- /dev/null +++ b/test/Linker/debug-info-version-b.ll @@ -0,0 +1,10 @@ +; RUN: true +; Companion for debug-info-version-a.ll. + +!llvm.module.flags = !{ !0 } +!llvm.dbg.cu = !{!1} + +!0 = metadata !{i32 2, metadata !"Debug Info Version", i32 42} +!1 = metadata !{i32 589841, metadata !2, i32 12, metadata !"clang", metadata !"I AM UNEXPECTED!"} ; [ DW_TAG_compile_unit ] +!2 = metadata !{metadata !"b.c", metadata !""} +!3 = metadata !{}