[clang][DebugInfo] Don't canonicalize names in template argument list for alias templates
authorMichael Buch <michaelbuch12@gmail.com>
Sat, 21 Jan 2023 02:07:24 +0000 (02:07 +0000)
committerMichael Buch <michaelbuch12@gmail.com>
Mon, 23 Jan 2023 09:43:17 +0000 (09:43 +0000)
commitbee8860525acbfe33f5b32870ad5e13de07fa6ff
treebb054aacd3fa8edf82e635f869c9809a1f9dc598
parentd54ae905d13ed56ab8f4ce0147eb92801684f0f3
[clang][DebugInfo] Don't canonicalize names in template argument list for alias templates

**Summary**

This patch customizes the `CGDebugInfo` printing policy to stop canonicalizing
the template arugment list in `DW_AT_name` for alias templates. The motivation for
this is that we want to be able to use the `TypePrinter`s support for
omitting defaulted template arguments when emitting `DW_AT_name`.

For reference, GCC currently completely omits the template arguments
when emitting alias template DIEs.

**Testing**

* Added unit-test

Differential Revision: https://reviews.llvm.org/D142268
clang/lib/CodeGen/CGDebugInfo.cpp
clang/test/CodeGenCXX/debug-info-alias.cpp