Commit 4194317
Fix #20004 - generate DW_TAG_enumerator for enum members in DWARF debug info
Previously, D enum types were emitted as DWARF forward references with no
children. The backend's SEenumlist was never populated and SENforward was
never cleared for D enums.
Populate the SEenumlist with enum member symbols and clear SENforward
in visitEnum for all integer-based enums, so that ubyte, ulong, etc.
enum base types also get correct DWARF output with member names and values.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent a84051c commit 4194317
4 files changed
Lines changed: 39 additions & 1 deletion
File tree
- changelog
- compiler
- src/dmd/glue
- test/dshell/extra-files/dwarf
- excepted_results
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
| |||
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
259 | 278 | | |
260 | 279 | | |
261 | 280 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments