Ensure canonical type is actually canonical.
ASTContext::applyObjCProtocolQualifiers will return a canonical type when given
a canonical type and an array of canonical protocols. If the protocols are not
canonical then the returned type is also not canonical. Since a canonical type is needed, canonicalize the returned type before using it. This later prevents
a type from having a non-canonical canonical type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@341013
91177308-0d34-0410-b5e6-
96231b3b80d8