llvm.org GIT mirror llvm / 1905a18
If FE forgot to provide a file name (usually it uses "stdin" as name in such situation) then make one up to ensure that debug info is not malformed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114119 91177308-0d34-0410-b5e6-96231b3b80d8 Devang Patel 10 years ago
2 changed file(s) with 35 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
17491749 unsigned DId;
17501750 assert (DirName.empty() == false && "Invalid directory name!");
17511751
1752 // If FE did not provide a file name, then assume stdin.
1753 if (FileName.empty())
1754 return GetOrCreateSourceID(DirName, "");
1755
17521756 StringMap::iterator DI = DirectoryIdMap.find(DirName);
17531757 if (DI != DirectoryIdMap.end()) {
17541758 DId = DI->getValue();
0 ; RUN: llc -O0 < %s - | FileCheck %s
1 ; Radar 8286101
2 ; CHECK: File size
3 ; CHECK-NEXT: stdin
4 ; CHECK-NEXT: Directory
5
6 define i32 @foo() nounwind ssp {
7 entry:
8 ret i32 42, !dbg !8
9 }
10
11 define i32 @bar() nounwind ssp {
12 entry:
13 ret i32 21, !dbg !10
14 }
15
16 !llvm.dbg.sp = !{!0, !6}
17
18 !0 = metadata !{i32 524334, i32 0, metadata !1, metadata !"foo", metadata !"foo", metadata !"foo", metadata !1, i32 53, metadata !3, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 ()* @foo} ; [ DW_TAG_subprogram ]
19 !1 = metadata !{i32 524329, metadata !"", metadata !"/private/tmp", metadata !2} ; [ DW_TAG_file_type ]
20 !2 = metadata !{i32 524305, i32 0, i32 12, metadata !"bug.c", metadata !"/private/tmp", metadata !"clang version 2.9 (trunk 114084)", i1 true, i1 false, metadata !"", i32 0} ; [ DW_TAG_compile_unit ]
21 !3 = metadata !{i32 524309, metadata !1, metadata !"", metadata !1, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !4, i32 0, null} ; [ DW_TAG_subroutine_type ]
22 !4 = metadata !{metadata !5}
23 !5 = metadata !{i32 524324, metadata !1, metadata !"int", metadata !1, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
24 !6 = metadata !{i32 524334, i32 0, metadata !7, metadata !"bar", metadata !"bar", metadata !"bar", metadata !7, i32 4, metadata !3, i1 false, i1 true, i32 0, i32 0, null, i1 false, i1 false, i32 ()* @bar} ; [ DW_TAG_subprogram ]
25 !7 = metadata !{i32 524329, metadata !"bug.c", metadata !"/private/tmp", metadata !2} ; [ DW_TAG_file_type ]
26 !8 = metadata !{i32 53, i32 13, metadata !9, null}
27 !9 = metadata !{i32 524299, metadata !0, i32 53, i32 11, metadata !1, i32 0} ; [ DW_TAG_lexical_block ]
28 !10 = metadata !{i32 4, i32 13, metadata !11, null}
29 !11 = metadata !{i32 524299, metadata !12, i32 4, i32 13, metadata !7, i32 2} ; [ DW_TAG_lexical_block ]
30 !12 = metadata !{i32 524299, metadata !6, i32 4, i32 11, metadata !7, i32 1} ; [ DW_TAG_lexical_block ]