From c3b6e80d291b8ac53c67a4d292c1e60469d78447 Mon Sep 17 00:00:00 2001 From: Michael Kuperstein Date: Thu, 17 Oct 2013 10:27:12 +0000 Subject: Changing DebugInfoFinder to iterate over all the compile units. Solves http://llvm.org/bugs/show_bug.cgi?id=17507 Committed on behalf of alon.mishne@intel.com git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192879 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/DebugInfo/debuginfofinder-multiple-cu.ll | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/DebugInfo/debuginfofinder-multiple-cu.ll (limited to 'test/DebugInfo') diff --git a/test/DebugInfo/debuginfofinder-multiple-cu.ll b/test/DebugInfo/debuginfofinder-multiple-cu.ll new file mode 100644 index 0000000..be9c024 --- /dev/null +++ b/test/DebugInfo/debuginfofinder-multiple-cu.ll @@ -0,0 +1,40 @@ +; RUN: opt -analyze -module-debuginfo < %s | FileCheck %s + +; Produced from linking: +; /tmp/test1.c containing f() +; /tmp/test2.c containing g() + +; Verify that both compile units and both their contained functions are +; listed by DebugInfoFinder: +;CHECK: Compile Unit: [ DW_TAG_compile_unit ] [/tmp/test1.c] [DW_LANG_C99] +;CHECK: Compile Unit: [ DW_TAG_compile_unit ] [/tmp/test2.c] [DW_LANG_C99] +;CHECK: Subprogram: [ DW_TAG_subprogram ] [line 1] [def] [f] +;CHECK: Subprogram: [ DW_TAG_subprogram ] [line 1] [def] [g] + +define void @f() { + ret void, !dbg !14 +} + +define void @g() { + ret void, !dbg !15 +} + +!llvm.dbg.cu = !{!0, !8} +!llvm.module.flags = !{!13} + +!0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.4 (192092)", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !2, metadata !2, metadata !""} ; [ DW_TAG_compile_unit ] [/tmp/test1.c] [DW_LANG_C99] +!1 = metadata !{metadata !"test1.c", metadata !"/tmp"} +!2 = metadata !{i32 0} +!3 = metadata !{metadata !4} +!4 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"f", metadata !"f", metadata !"", i32 1, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, void ()* @f, null, null, metadata !2, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [f] +!5 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/tmp/test1.c] +!6 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] +!7 = metadata !{null} +!8 = metadata !{i32 786449, metadata !9, i32 12, metadata !"clang version 3.4 (192092)", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !10, metadata !2, metadata !2, metadata !""} ; [ DW_TAG_compile_unit ] [/tmp/test2.c] [DW_LANG_C99] +!9 = metadata !{metadata !"test2.c", metadata !"/tmp"} +!10 = metadata !{metadata !11} +!11 = metadata !{i32 786478, metadata !9, metadata !12, metadata !"g", metadata !"g", metadata !"", i32 1, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, void ()* @g, null, null, metadata !2, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [g] +!12 = metadata !{i32 786473, metadata !9} ; [ DW_TAG_file_type ] [/tmp/test2.c] +!13 = metadata !{i32 2, metadata !"Dwarf Version", i32 4} +!14 = metadata !{i32 1, i32 0, metadata !4, null} +!15 = metadata !{i32 1, i32 0, metadata !11, null} -- cgit v1.1