From 6618a241f7ba2571a1a55b3733c4441d467baf42 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Tue, 11 Oct 2011 22:59:11 +0000 Subject: Add a new wrapper node for a DILexicalBlock that encapsulates it and a file. Since it should only be used when necessary propagate it through the backend code generation and tweak testcases accordingly. This helps with code like in clang's test/CodeGen/debug-info-line.c where we have multiple #line directives within a single lexical block and want to generate only a single block that contains each file change. Part of rdar://10246360 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141729 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/SourceLevelDebugging.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'docs/SourceLevelDebugging.html') diff --git a/docs/SourceLevelDebugging.html b/docs/SourceLevelDebugging.html index 98dfc9af0f..6eaaa240c1 100644 --- a/docs/SourceLevelDebugging.html +++ b/docs/SourceLevelDebugging.html @@ -472,10 +472,23 @@ global variables are collected by named metadata !llvm.dbg.gv.

-

These descriptors provide debug information about nested blocks within a +

This descriptor provides debug information about nested blocks within a subprogram. The line number and column numbers are used to dinstinguish two lexical blocks at same depth.

+
+
+!3 = metadata !{
+  i32,     ;; Tag = 11 + LLVMDebugVersion (DW_TAG_lexical_block)
+  metadata ;; Reference to the scope we're annotating with a file change
+  metadata,;; Reference to the file the scope is enclosed in.
+}
+
+
+ +

This descriptor provides a wrapper around a lexical scope to handle file + changes in the middle of a lexical block.

+ -- cgit v1.2.3-70-g09d2