Author: leonardchan Date: Tue May 7 22:59:25 2019 New Revision: 360225 URL: http://llvm.org/viewvc/llvm-project?rev=360225&view=rev Log: Fix for the greendragon bots.
Adds extra checks for ObjC GC and Ownership. Modified: cfe/trunk/lib/Sema/SemaType.cpp cfe/trunk/test/SemaObjC/mrc-weak.m Modified: cfe/trunk/lib/Sema/SemaType.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=360225&r1=360224&r2=360225&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaType.cpp (original) +++ cfe/trunk/lib/Sema/SemaType.cpp Tue May 7 22:59:25 2019 @@ -7612,7 +7612,9 @@ static void processTypeAttrs(TypeProcess // applied to ObjC builtin attributes. if (isa<AttributedType>(type) && attr.hasMacroIdentifier() && !type.getQualifiers().hasObjCLifetime() && - !type.getQualifiers().hasObjCGCAttr()) { + !type.getQualifiers().hasObjCGCAttr() && + attr.getKind() != ParsedAttr::AT_ObjCGC && + attr.getKind() != ParsedAttr::AT_ObjCOwnership) { const IdentifierInfo *MacroII = attr.getMacroIdentifier(); type = state.getSema().Context.getMacroQualifiedType(type, MacroII); state.setExpansionLocForMacroQualifiedType( Modified: cfe/trunk/test/SemaObjC/mrc-weak.m URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/mrc-weak.m?rev=360225&r1=360224&r2=360225&view=diff ============================================================================== --- cfe/trunk/test/SemaObjC/mrc-weak.m (original) +++ cfe/trunk/test/SemaObjC/mrc-weak.m Tue May 7 22:59:25 2019 @@ -62,6 +62,6 @@ void test_unsafe_unretained_cast(id *val void test_cast_qualifier_inference(__weak id *value) { __weak id *a = (id*) value; - __unsafe_unretained id *b = (id *)value; // expected-error {{initializing '__unsafe_unretained id *' with an expression of type '__weak id *' changes retain/release properties of pointer}} + __unsafe_unretained id *b = (id *)value; // expected-error {{initializing 'id *' with an expression of type '__weak id *' changes retain/release properties of pointer}} } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits