diff --git a/clang/include/clang/AST/TypeProperties.td b/clang/include/clang/AST/TypeProperties.td index 66d490850678a..2eaad84a3ff70 100644 --- a/clang/include/clang/AST/TypeProperties.td +++ b/clang/include/clang/AST/TypeProperties.td @@ -104,7 +104,8 @@ let Class = MemberPointerType in { let Read = [{ node->getQualifier() }]; } def : Property<"Cls", DeclRef> { - let Read = [{ node->getMostRecentCXXRecordDecl() }]; + let Read = + [{ node->isSugared() ? node->getMostRecentCXXRecordDecl()->getCanonicalDecl() : nullptr }]; } def : Creator<[{