diff options
Diffstat (limited to 'clang/lib/AST/DeclarationName.cpp')
| -rw-r--r-- | clang/lib/AST/DeclarationName.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/DeclarationName.cpp b/clang/lib/AST/DeclarationName.cpp index 6c7b995d5756..55f5a994d788 100644 --- a/clang/lib/AST/DeclarationName.cpp +++ b/clang/lib/AST/DeclarationName.cpp @@ -113,13 +113,14 @@ static void printCXXConstructorDestructorName(QualType ClassType, PrintingPolicy Policy) { // We know we're printing C++ here. Ensure we print types properly. Policy.adjustForCPlusPlus(); + Policy.SuppressScope = true; - if (const RecordType *ClassRec = ClassType->getAs<RecordType>()) { + if (const RecordType *ClassRec = ClassType->getAsCanonical<RecordType>()) { ClassRec->getOriginalDecl()->printName(OS, Policy); return; } if (Policy.SuppressTemplateArgsInCXXConstructors) { - if (auto *InjTy = ClassType->getAs<InjectedClassNameType>()) { + if (auto *InjTy = ClassType->getAsCanonical<InjectedClassNameType>()) { InjTy->getOriginalDecl()->printName(OS, Policy); return; } |
