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 !{}