From 6aa46a19c56750e17f7acedc47d95111fd2dcd5d Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 20 Aug 2017 21:03:30 +0000 Subject: Vendor import of clang release_50 branch r311219: https://llvm.org/svn/llvm-project/cfe/branches/release_50@311219 --- lib/Sema/SemaCast.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/Sema/SemaCast.cpp') diff --git a/lib/Sema/SemaCast.cpp b/lib/Sema/SemaCast.cpp index ba2049d8a606b..d603101c3fd9c 100644 --- a/lib/Sema/SemaCast.cpp +++ b/lib/Sema/SemaCast.cpp @@ -552,7 +552,14 @@ CastsAwayConstness(Sema &Self, QualType SrcType, QualType DestType, Qualifiers SrcQuals, DestQuals; Self.Context.getUnqualifiedArrayType(UnwrappedSrcType, SrcQuals); Self.Context.getUnqualifiedArrayType(UnwrappedDestType, DestQuals); - + + // We do not meaningfully track object const-ness of Objective-C object + // types. Remove const from the source type if either the source or + // the destination is an Objective-C object type. + if (UnwrappedSrcType->isObjCObjectType() || + UnwrappedDestType->isObjCObjectType()) + SrcQuals.removeConst(); + Qualifiers RetainedSrcQuals, RetainedDestQuals; if (CheckCVR) { RetainedSrcQuals.setCVRQualifiers(SrcQuals.getCVRQualifiers()); -- cgit v1.2.3