forked from OSchip/llvm-project
Suppress the tag when printing an ElaboratedType if the language options
claim this is C. We don't make ElaboratedTypes in C, but sometimes the language options during pretty-print lie to us. The rewriter should really be fixed to not rely on how types are pretty-printed, though. llvm-svn: 98189
This commit is contained in:
parent
703b12d62f
commit
c9d4a84c2a
|
@ -474,7 +474,12 @@ void TypePrinter::PrintEnum(const EnumType *T, std::string &S) {
|
|||
|
||||
void TypePrinter::PrintElaborated(const ElaboratedType *T, std::string &S) {
|
||||
Print(T->getUnderlyingType(), S);
|
||||
S = std::string(T->getNameForTagKind(T->getTagKind())) + ' ' + S;
|
||||
|
||||
// We don't actually make these in C, but the language options
|
||||
// sometimes lie to us -- for example, if someone calls
|
||||
// QualType::getAsString(). Just suppress the redundant tag if so.
|
||||
if (Policy.LangOpts.CPlusPlus)
|
||||
S = std::string(T->getNameForTagKind(T->getTagKind())) + ' ' + S;
|
||||
}
|
||||
|
||||
void TypePrinter::PrintTemplateTypeParm(const TemplateTypeParmType *T,
|
||||
|
|
Loading…
Reference in New Issue