Index: lib/AST/TemplateBase.cpp =================================================================== --- lib/AST/TemplateBase.cpp +++ lib/AST/TemplateBase.cpp @@ -392,7 +392,11 @@ case Declaration: { NamedDecl *ND = cast(getAsDecl()); - Out << '&'; + bool isArray = false; + if (auto VD = dyn_cast(ND)) + isArray = VD->getType()->isArrayType(); + if (!isArray) + Out << '&'; if (ND->getDeclName()) { // FIXME: distinguish between pointer and reference args? ND->printQualifiedName(Out);