summaryrefslogtreecommitdiff
path: root/test/DebugInfo
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2010-09-16 20:57:49 +0000
committerDevang Patel <dpatel@apple.com>2010-09-16 20:57:49 +0000
commit1905a18abcb46e6a57eeaa291cd81fc669cedfd0 (patch)
treea92973fc74a9dbbfae529eae3042a739ede55797 /test/DebugInfo
parent4e282decf3960bfa6b1fe3fd77bb51ff96121515 (diff)
downloadllvm-1905a18abcb46e6a57eeaa291cd81fc669cedfd0.tar.gz
llvm-1905a18abcb46e6a57eeaa291cd81fc669cedfd0.tar.bz2
llvm-1905a18abcb46e6a57eeaa291cd81fc669cedfd0.tar.xz
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
Diffstat (limited to 'test/DebugInfo')
-rw-r--r--test/DebugInfo/2010-09-16-EmptyFilename.ll31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/DebugInfo/2010-09-16-EmptyFilename.ll b/test/DebugInfo/2010-09-16-EmptyFilename.ll
new file mode 100644
index 0000000000..66c1e88a15
--- /dev/null
+++ b/test/DebugInfo/2010-09-16-EmptyFilename.ll
@@ -0,0 +1,31 @@
+; RUN: llc -O0 < %s - | FileCheck %s
+; Radar 8286101
+; CHECK: File size
+; CHECK-NEXT: stdin
+; CHECK-NEXT: Directory
+
+define i32 @foo() nounwind ssp {
+entry:
+ ret i32 42, !dbg !8
+}
+
+define i32 @bar() nounwind ssp {
+entry:
+ ret i32 21, !dbg !10
+}
+
+!llvm.dbg.sp = !{!0, !6}
+
+!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 ]
+!1 = metadata !{i32 524329, metadata !"", metadata !"/private/tmp", metadata !2} ; [ DW_TAG_file_type ]
+!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 ]
+!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 ]
+!4 = metadata !{metadata !5}
+!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 ]
+!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 ]
+!7 = metadata !{i32 524329, metadata !"bug.c", metadata !"/private/tmp", metadata !2} ; [ DW_TAG_file_type ]
+!8 = metadata !{i32 53, i32 13, metadata !9, null}
+!9 = metadata !{i32 524299, metadata !0, i32 53, i32 11, metadata !1, i32 0} ; [ DW_TAG_lexical_block ]
+!10 = metadata !{i32 4, i32 13, metadata !11, null}
+!11 = metadata !{i32 524299, metadata !12, i32 4, i32 13, metadata !7, i32 2} ; [ DW_TAG_lexical_block ]
+!12 = metadata !{i32 524299, metadata !6, i32 4, i32 11, metadata !7, i32 1} ; [ DW_TAG_lexical_block ]