Index: lib/Sema/SemaExpr.cpp
===================================================================
--- lib/Sema/SemaExpr.cpp	(revisione 122395)
+++ lib/Sema/SemaExpr.cpp	(copia locale)
@@ -4501,7 +4501,8 @@
   // Also, callers should have filtered out the invalid cases with
   // pointers.  Everything else should be possible.
 
-  QualType SrcTy = Src->getType();
+  QualType SrcTy = S.Context.getCanonicalType(Src->getType());
+  DestTy = S.Context.getCanonicalType(DestTy);
   if (S.Context.hasSameUnqualifiedType(SrcTy, DestTy))
     return CK_NoOp;
 
