================ @@ -1635,6 +1635,17 @@ void TypePrinter::printElaboratedBefore(const ElaboratedType *T, if (T->getKeyword() != ElaboratedTypeKeyword::None) OS << " "; NestedNameSpecifier *Qualifier = T->getQualifier(); + if (!Policy.SuppressTagKeyword && Policy.SuppressScope && + !Policy.SuppressUnwrittenScope) { + StringRef prefix = T->isClassType() ? "class " + : T->isStructureType() ? "struct " + : T->isUnionType() ? "union " + : ""; + OS << prefix; + Policy.SuppressTagKeyword = true; + Policy.SuppressScope = false; ---------------- zahiraam wrote:
Hmmm! Can't seem to find a test case that fails. At each step of the printing `ElaboratedTypePolicyRAII PolicyRAII(Policy);` gets called and that re-initializes the values of` Policy.SuppressTagKeyword` and `Policy.SuppressScope` to true! https://github.com/llvm/llvm-project/pull/84014 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits