================
@@ -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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits