diff options
author | Felipe de Azevedo Piovezan <fpiovezan@apple.com> | 2023-11-13 11:02:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-13 11:02:58 -0800 |
commit | a195d1fc6c33c203c7863f03fe1513c950d59a83 (patch) | |
tree | e00b9598511aa7e4abc4f515dcb5918b0a89f8ef /clang/lib/CodeGen | |
parent | 4488f4933ee2a5326be643e8d1afec623c318fb9 (diff) | |
download | llvm-a195d1fc6c33c203c7863f03fe1513c950d59a83.zip llvm-a195d1fc6c33c203c7863f03fe1513c950d59a83.tar.gz llvm-a195d1fc6c33c203c7863f03fe1513c950d59a83.tar.bz2 |
[DebugInfo] Implement TAG_label entries for debug_names (#71724)
The DWARF 5 specification says that:
> The name index must contain an entry for each debugging information
entry that
> defines a named [...] label [...].
The verifier currently verifies this, but the AsmPrinter does not add
entries for TAG_labels in debug_names. This patch addresses the issue by
ensuring we add labels in the accelerator tables once we have a fully
completed DIE for the TAG_label entry.
We also respect the spec as follows:
> DW_TAG_label debugging information entries without an address
attribute
> (DW_AT_low_pc, DW_AT_high_pc, DW_AT_ranges, or DW_AT_entry_pc) are
excluded.
The effect of this on the size of accelerator tables is minimal, as
TAG_labels are usually created by C/C++ labels (see example in test),
which are typically paired with "goto" statements.
Diffstat (limited to 'clang/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions