| ; RUN: llvm-undname < %s | FileCheck %s | |
| ; CHECK-NOT: Invalid mangled name | |
| ?TestNonTemplateAuto@@YA@XZ | |
| ; CHECK: __cdecl TestNonTemplateAuto(void) | |
| ??$AutoT@X@@YA?A_PXZ | |
| ; CHECK: auto __cdecl AutoT<void>(void) | |
| ??$AutoT@X@@YA?B_PXZ | |
| ; CHECK: auto const __cdecl AutoT<void>(void) | |
| ??$AutoT@X@@YA?A_TXZ | |
| ; CHECK: decltype(auto) __cdecl AutoT<void>(void) | |
| ??$AutoT@X@@YA?B_TXZ | |
| ; CHECK: decltype(auto) const __cdecl AutoT<void>(void) |