[Lldb-commits] [PATCH] D77698: [DWARF] Assign the correct scope to constant variables

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 9 15:16:06 PDT 2020


aprantl added inline comments.


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp:1028
+    case DW_TAG_inlined_subroutine:
+      return false;
+
----------------
[Sorry for showing up late.]

This seems unintuitive. How is 

```
void f() {
static int g_i = 0;
}
```

represented in DWARF?


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp:1029
+      return false;
+
+    case DW_TAG_compile_unit:
----------------
To save everyone the trouble:
```
0x0000002a:   DW_TAG_subprogram
                DW_AT_low_pc	(0x0000000000000000)
                DW_AT_high_pc	(0x0000000000000006)
                DW_AT_frame_base	(DW_OP_reg6 RBP)
                DW_AT_name	("f")
                DW_AT_decl_file	("/tmp/t.c")
                DW_AT_decl_line	(1)
                DW_AT_external	(true)

0x0000003f:     DW_TAG_variable
                  DW_AT_name	("g_i")
                  DW_AT_type	(0x00000055 "int")
                  DW_AT_decl_file	("/tmp/t.c")
                  DW_AT_decl_line	(2)
                  DW_AT_location	(DW_OP_addr 0x280)

0x00000054:     NULL
```


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77698/new/

https://reviews.llvm.org/D77698





More information about the lldb-commits mailing list