Ensure the TemplateParam attribute of the DIGlobalVariable node is translated into the proper DIEs.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 22812 Build 22812: arc lint + arc unit
Event Timeline
Since you're changing the IR please also add a round-trip test (llvm-as | llvm-dis | llvm-as | llvm-dis).
include/llvm-c/DebugInfo.h | ||
---|---|---|
976–980 | The C-API is considered stable. You could extend it if you have a use case for this? |
include/llvm-c/DebugInfo.h | ||
---|---|---|
976–980 | Not currently. I'm happy removing this part of the change. |
test/DebugInfo/X86/template.ll | ||
---|---|---|
6–12 | I'm guessing this source code is out of date, since it doesn't appear to include a global variable template named 'var'? | |
23 | Presumably this should actually be named 'var<int>'? Not a big deal, since this is just using whatever name is in the IR To begin with - but might make the test case less confusing. |
test/DebugInfo/X86/template.ll | ||
---|---|---|
6–12 | Yep. That's out of date. Will fix. |
test/DebugInfo/X86/template.ll | ||
---|---|---|
23 | In this case, the template parameters are not added to the variable name. |
test/DebugInfo/X86/template.ll | ||
---|---|---|
23 | Why's that? The parameters are part of the variable name for class and function templates - seems they'd be necessary/useful to disambiguate for variable templates too. (though I do see that GCC (8.1) also doesn't seem to put template parameters on variable templates... ) |
test/DebugInfo/X86/template.ll | ||
---|---|---|
23 | Correction: It breaks global variable look up, not global symbol lookup. |
Thanks!
test/DebugInfo/X86/template.ll | ||
---|---|---|
23 | Fair enough - not a bug to be fixed here anyway. Hopefully LLDB is tracking the fix for that & Clang can switch over after that. Assuming it works for GDB. (though perhaps it'd be best to make this test case look like the expected name (rather than the bug-workaround name) - so as to be less surprising to folks working on LLVM/reading this in the future?) |
The C-API is considered stable. You could extend it if you have a use case for this?