Since "Da" and "Dc" (auto and decltype(auto)) are under <builtin-type> in the mangling grammer, they shouldn't have a substitution (https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-compression). I believe that a deduced AutoType shouldn't be able to reach mangleType(AutoType) because it's deduced type would have been canonicalized in mangleType(QualType) before, so I removed that branch and added an assert. FWIW, with this patch applied Clang and GCC agree on the manglings in the affected file.
Thanks for taking a look!
Erik
I agree with your analysis that this shouldn't be a substitution candidate. However, I think this probably needs an ABI-compatibility guard.